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.