Tratamento de erros no Amazon SWF - Amazon Simple Workflow Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tratamento de erros no Amazon SWF

Existem vários tipos de erros que podem ocorrer durante a execução de um fluxo de trabalho.

Erros de validação

Os erros de validação ocorrem quando uma solicitação para o Amazon SWF falha porque não está formada corretamente ou contém dados inválidos. Nesse contexto, uma solicitação poderia ser uma ação, como DescribeDomain, ou uma decisão, como StartTimer. Se a solicitação for uma ação, o Amazon SWF retornará um código de erro na resposta. Verifique esse código de erro, pois ele pode fornecer informações sobre qual aspecto da solicitação causou a falha. Por exemplo, um ou mais dos argumentos transmitidos com a solicitação podem ser inválidos. Para obter uma lista de códigos de erro comuns, acesse o tópico da ação na Referência de API do Amazon Simple Workflow Service.

Se a solicitação que falhou for uma decisão, um evento apropriado será listado no histórico de execução de fluxo de trabalho. Por exemplo, se a decisão StartTimer falhasse, você veria um evento StartTimerFailed no histórico. O agente de decisão deve verificar esses eventos ao receber o histórico em resposta a PollForDecisionTask ou GetWorkflowExecutionHistory. Veja a seguir uma lista de possíveis eventos de falha de decisão que podem ocorrer quando a decisão não está formada corretamente ou contém dados inválidos.

Erros na execução de ações ou decisões

Mesmo que a solicitação seja formada corretamente, podem ocorrer erros quando o Amazon SWF tentar executar a solicitação. Nesses casos, um dos seguintes eventos no histórico indicará que ocorreu um erro. Observe o campo reason do evento para determinar a causa da falha.

Tempo limite atingido

Agentes de decisão, operadores de atividade e execuções de fluxo de trabalho operam todos dentro das restrições de períodos de tempo limite. Nesse tipo de erro, uma tarefa ou um fluxo de trabalho secundário atinge o tempo limite. Um evento aparecerá no histórico que descreve o tempo limite. O agente de decisão deve lidar com esse evento, por exemplo, reagendando a tarefa ou reiniciando o fluxo de trabalho secundário. Para obter mais informações sobre tempos limite, consulte Tipos de tempo limite do Amazon SWF

Erros gerados pelo código do usuário

Exemplos desse tipo de condição de erro são falhas de tarefa de atividade e falhas de fluxos de trabalho secundários. Assim como acontece com os erros de tempo limite, o Amazon SWF adiciona um evento apropriado ao histórico de execução do fluxo de trabalho. O agente de decisão deve lidar com esse evento, possivelmente reagendando a tarefa ou reiniciando o fluxo de trabalho secundário.

Agentes de decisão também podem ver os seguintes eventos se tentarem encerrar um fluxo de trabalho que tenha uma tarefa de decisão pendente.

Para obter mais informações sobre qualquer um dos eventos listados acima, consulte Evento de histórico na Referência da API do Amazon SWF.