Voltar às perguntas frequentes sobre Workflows
CENTRAL DE AJUDA · FAQWorkflows1 min de leitura

Como evitar que um fluxo processe o mesmo evento duas vezes?

Projete o processamento para tolerar entregas duplicadas em vez de presumir que cada evento chega exatamente uma vez. Um identificador estável, registro persistente e resultado idempotente detectam repetições sem refazer efeitos externos.

Workflows

Escolha uma chave de deduplicação

Use o ID fornecido pela origem se for único e estável; caso contrário, derive uma chave de campos que identificam o mesmo evento de negócio. Evite usar apenas horário ou um ID amplo de entidade, que pode deixar duplicatas passar ou unir atualizações distintas.

Persista a chave e o estado de processamento atomicamente com o resultado de negócio quando possível. Defina por quanto tempo manter o registro, considerando tentativas tardias e janelas de replay.

Torne tentativas seguras

Antes de enviar mensagem, criar pagamento ou alterar registro externo, verifique se o efeito já ocorreu ou use suporte de idempotência no destino. Uma reinicialização deve continuar do progresso registrado.

Teste eventos duplicados, atrasados e fora de ordem, inclusive com dois workers simultâneos. Monitore detecções e rejeições para garantir que uma chave ruim não descarte trabalho legítimo.

Voltar às perguntas frequentes sobre Workflows