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.