Como detecto falhas inesperadas na função do trabalhador e reprocesso dados nesses caso
Eu quero criar um serviço da web hospedado no Windows Azure. Os clientes farão upload de arquivos para processamento, a nuvem processará esses arquivos, produzirá os arquivos resultantes, o cliente fará o download dele
Acho que usarei funções da Web para lidar com solicitações HTTP e funções de trabalhador para processamento real e algo como Fila do Azure ou Armazenamento de Tabela do Azure para rastrear solicitações. Vamos fingir que será o Armazenamento de Tabela do Azure - um registro de "solicitação" por arquivo carregado pelo usuário.
Um grande problema de design é o processamento de um único arquivo que pode levar de um segundo a dez hora
Então, espero o seguinte caso: uma função de trabalhador é iniciada, chega ao Armazenamento de Tabelas do Azure, encontra uma solicitação marcada como "pronta para processamento", marca "está sendo processada", inicia o processamento real. Normalmente ele processaria o arquivo e marcaria a solicitação como "processada", mas e se ela morrer inesperadament
A menos que eu cuide disso, a solicitação permanecerá no estado "está sendo processado" para sempr
Como rastrear solicitações marcadas como "está sendo processada", mas abandonadas? Qual mecanismo no Windows Azure seria mais conveniente para isso?