Usar tempos limite para evitar travar execuções - AWS Step Functions

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

Usar tempos limite para evitar travar execuções

Por padrão, a Amazon States Language não especifica tempos limite para definições de máquinas de estado. Sem um tempo limite explícito, o Step Functions frequentemente se baseia somente em uma resposta de um operador de atividade para saber que uma tarefa foi concluída. Se algo der errado e o campo TimeoutSeconds não estiver especificado para um estado Activity ou Task, uma execução ficará travada, aguardando uma resposta que nunca chegará.

Para evitar essa situação, ao criar uma Task em sua máquina de estado, especifique um tempo limite razoável. Por exemplo:

"ActivityState": { "Type": "Task", "Resource": "arn:aws:states:us-east-1:123456789012:activity:HelloWorld", "TimeoutSeconds": 300, "Next": "NextState" }

Se você usar um retorno de chamada com um token de tarefa (.waitForTaskToken), recomendamos usar pulsações e adicionar o campo HeartbeatSeconds à definição do estado Task. Você pode definir HeartbeatSeconds para ser menor que o tempo limite da tarefa, de modo que, se o seu fluxo de trabalho falhar com um erro de heartbeat, você saberá que isso se deve à falha da tarefa, e não ao fato de a tarefa demorar muito para ser concluída.

{ "StartAt": "Push to SQS", "States": { "Push to SQS": { "Type": "Task", "Resource": "arn:aws:states:::sqs:sendMessage.waitForTaskToken", "HeartbeatSeconds": 600, "Parameters": { "MessageBody": { "myTaskToken.$": "$$.Task.Token" }, "QueueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/push-based-queue" }, "ResultPath": "$.SQS", "End": true } } }

Para ver mais informações, consulte Estado da tarefa na documentação da Amazon States Language.

nota

Você pode definir um tempo limite para sua máquina de estado usando o campo TimeoutSeconds na definição da Amazon States Language. Para obter mais informações, consulte Estrutura da máquina de estado.