background-jobs

Installation
SKILL.md

Background jobs

O request HTTP não espera e-mail, PDF, webhook outbound pesado ou embed. Enfileire e responda. Outbox/eventos de domínio: event-driven-architecture. Broker Redis: redis-cache (keys de fila ≠ cache). HTTP de entrada de terceiros: webhooks.

Preserve o runner do repo (Bull/BullMQ, Sidekiq, River, Oban, Hangfire, pg-boss). Não troque a lib.

Regras inegociáveis

  • Payload pequeno: IDs + tipo. O worker lê o canônico no DB. Sem blob de 2 MB na fila.
  • Idempotência: a mesma job_id / idempotency_key não aplica o efeito duas vezes (unique no Postgres ou SET NX).
  • Retry com backoff + teto. Erro de negócio (4xx lógico) não retry infinito.
  • Timeout no job. Cancelamento cooperativo se o runtime permitir.
  • Dead letter / failed set visível; alarme. Não sumir com o erro.

Quando enfileirar

  • I/O > ~200ms que o usuário não precisa na mesma resposta (e-mail, thumbnail, sync).
  • Fan-out, retry, schedule (cron / every).
  • Webhook outbound (webhooks).
Installs
1
First Seen
4 days ago
background-jobs — danieldxd/myapp-skills