Criação de Workflows Determinísticos

No Temporal, o código de workflow é executado repetidas vezes durante a reconstrução de histórico (Replay).

Regras Inegociáveis de Determinismo

  • Proibição de E/S Direta: Jamais execute chamadas HTTP, consultas SQL ou leitura de arquivos dentro de um workflow. Toda operação externa pertence a uma Activity.

  • Proibição de Funções Aleatórias ou Temporais Não-Determinísticas: Não utilize Math.random(), Date.now() ou UUIDs gerados localmente. Utilize os métodos do SDK (workflow.now(), workflow.uuid4()).

  • Variáveis Globais Mutáveis: Proibido armazenar estado em variáveis globais compartilhadas entre execuções.