

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á.

# Encerramento da execução do fluxo de trabalho no Amazon SWF
<a name="swf-dev-workflow-exec-closure"></a>

Quando você inicia a execução de um fluxo de trabalho, ele é *aberto*. Uma execução de fluxo de trabalho aberta pode ser encerrada como concluída, cancelada, com falha ou expirada. Ela também pode ser continuada como uma nova execução ou pode ser finalizada. A execução de um fluxo de trabalho pode ser encerrada pelo agente de decisão, pela pessoa que administra o fluxo de trabalho ou pelo Amazon SWF.

Se o agente de decisão determinar que as atividades do fluxo de trabalho terminaram, ele deverá encerrar a execução de fluxo de trabalho como concluída usando a ação `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`e transmitir a decisão `[CompleteWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CompleteWorkflowExecutionDecisionAttributes.html)`.

Como alternativa, um agente de decisão pode encerrar a execução de fluxo de trabalho como cancelada ou com falha. Para cancelar a execução, o agente de decisão deve usar a ação `RespondDecisionTaskCompleted` e transmitir a decisão `[CancelWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CancelWorkflowExecutionDecisionAttributes.html)`.

Um agente de decisão deve marcar a execução de fluxo de trabalho como falha se ela entrar em um estado fora do domínio de uma conclusão normal. Para marcar a execução como falha, o agente de decisão deve usar a ação `RespondDecisionTaskCompleted` e transmitir a decisão `[FailWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_FailWorkflowExecutionDecisionAttributes.html)`.

O Amazon SWF monitora as execuções do fluxo de trabalho para garantir que elas não excedam as configurações de tempo limite especificadas pelo usuário. Se a execução de um fluxo de trabalho atingir o tempo limite, o Amazon SWF o fechará automaticamente. Para obter mais informações sobre valores de tempo limite, consulte a seção [Tipos de tempo limite do Amazon SWF](swf-timeout-types.md).

Um agente de decisão também pode encerrar a execução e continuá-la logicamente como uma nova execução usando a ação `RespondDecisionTaskCompleted` e transmitindo a decisão `[ContinueAsNewWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ContinueAsNewWorkflowExecutionDecisionAttributes.html)`. Essa estratégia é útil para execuções de fluxo de trabalho de longa duração, para as quais o histórico pode crescer demais com o passar do tempo.

Por fim, você pode encerrar as execuções do fluxo de trabalho diretamente do console do Amazon SWF ou programaticamente usando a API `[TerminateWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TerminateWorkflowExecution.html)`. A finalização força o encerramento da execução de fluxo de trabalho. É preferível o cancelamento à finalização, pois os agentes de decisão podem gerenciar o encerramento da execução de fluxo de trabalho.

O Amazon SWF encerra a execução de um fluxo de trabalho se a execução exceder determinados limites definidos pelo serviço. O Amazon SWF encerra um fluxo de trabalho secundário se o fluxo de trabalho principal for encerrado e a política secundária aplicável indicar que o fluxo de trabalho secundário também deve ser encerrado.