Configuração de Retry Policies com Jitter

Activities que comunicam com serviços externos utilizam políticas de retry com recuo exponencial e jitter aleatório:

Padrão Canônico de Retry

import { proxyActivities, RetryPolicy } from '@temporalio/workflow';
import type * as activities from '../activities';

const defaultRetryPolicy: RetryPolicy = {
  initialInterval: '1s',
  backoffCoefficient: 2,
  maximumInterval: '30s',
  maximumAttempts: 5,
  nonRetryableErrorTypes: ['ValidationError', 'AuthenticationError'],
};

export const { reconcileInstanceStatus } = proxyActivities<typeof activities>({
  startToCloseTimeout: '1 minute',
  retry: defaultRetryPolicy,
});