Planeje resultados incertos
Um workflow pode falhar depois que um serviço externo aceitou uma ação, mas antes de registrar o sucesso da etapa seguinte. Trate o resultado como incerto: consulte o sistema de destino ou use uma chave que permita reconhecer duplicatas.
Separe a preparação das ações irreversíveis. Valide as entradas e calcule a mudança pretendida; só então envie, pague, publique ou exclua quando os pré-requisitos forem atendidos.
Registre o progresso e verifique o efeito
Armazene um identificador de negócio e o status das etapas para consultar em novas tentativas. Após uma falha, examine o histórico e o recurso externo para descobrir a última etapa confirmada.
Para ações que não podem ser idempotentes, adicione revisão ou conciliação em vez de novas tentativas automáticas. Teste a recuperação com um exemplo controlado e confirme que uma segunda execução não duplica registros ou mensagens.