Pular para o conteúdo principal

Runbook — Incidente no Worker de Exportação

Sinais de incidente​

  • Crescimento de mensagens na fila principal ou DLQ.
  • Falha recorrente no processamento (batchItemFailures).
  • Ausência de evento export.completed em auditoria.
  • Alertas de erro no worker-jobs.

Passo a passo (triagem)​

  1. Verificar saúde da fila:

    • Profundidade da fila principal e DLQ.
    • Taxa de mensagens recebidas × processadas.
  2. Inspecionar logs do worker:

    • Erros de parsing JSON.
    • Falhas em worker_export_link.
    • trace.end com outcome=error.
  3. Validar contrato de mensagem:

    • Campos obrigatórios de AsyncJobMessage.
    • correlationId propagado em atributos.
  4. Revisar comportamento de circuito/retry:

    • Identificar se o circuito está aberto.
    • Confirmar se retries foram tentados antes da falha final.

Mitigação imediata​

CenárioAção
Erro de payloadCorrigir produtor e reprocessar mensagens válidas
Erro transitórioManter retries, monitorar cooldown do circuito
Fila saturadaAumentar concurrency de consumo em janela controlada

Recuperação​

  1. Reprocessar mensagens da DLQ após correção da causa raiz.
  2. Validar retorno de export.completed para novos eventos.
  3. Confirmar notificação proativa simulada e link seguro gerado.

Verificação pós-recuperação​

npm run test -w @bi-agent/worker-jobs
npm run test:smoke

Logs devem ficar sem Failed processing SQS job recorrente por 30 minutos.

Critério de encerramento​

  • Backlog em queda sustentada e DLQ estabilizada.
  • Jobs novos processados com sucesso.
  • RCA documentada com prevenção para reincidência.