Voltar para o Blog
Ferramentas4 / 13
FerramentasParte 4 de 13

Trigger.dev: jobs e automações

2 min de leitura
Compartilhar
Ferramentas

O piloto automático do stack. Tudo que a plataforma faz "sozinha" passa pelo Trigger.dev.

O que é

Plataforma de jobs agendados e workflows com retry, observabilidade e o código versionado junto da aplicação. No ClubPetro vive dentro do apps/web, com acesso ao mesmo Drizzle/Supabase e aos mesmos tipos.

Onde usamos

Dezenas de jobs (cron + on-demand): recálculo de health score, sincronizações (Bitbucket, GA/GSC, Kommo), resumos por IA, digests de atendimento, alertas de SLA, FinOps. O padrão se repete: acorda → lê do banco → opcionalmente chama IA → grava → o usuário vê pronto.

Conceitos-chave

  • schedules.task = job por cron; task = on-demand (disparado por evento/código).
  • Retry configurável (tentativas, intervalo, backoff).
  • Idempotency key — garante que disparar o mesmo trabalho duas vezes não duplica efeito.
  • Concorrência — limite de quantas execuções rodam em paralelo (protege APIs externas e o banco).
  • Waits — um job pode pausar e retomar (esperar evento/tempo) sem segurar recurso.
  • Observabilidade — log e status por execução no dashboard.

Boas práticas

  • Escreva idempotente sempreupsert, checar "já feito" antes de criar.
  • Dispare manual e olhe o log antes de confiar no automático.
  • Comece pequeno — um job que faz uma coisa bem é mais fácil de depurar que um workflow gigante.
  • Promova fluxos do n8n (#13) pra cá quando virarem críticos/recorrentes.

Pegadinhas

  • ⚠️ Schedules só sincronizam no deploy. Mudou o cron e não deployou? O agendamento antigo continua valendo.
  • ⚠️ Pinar a CLI na versão do SDK: npx trigger.dev@<versão> deploy — versões divergentes geram erro chato.
  • ⚠️ Timezone no cron vai como objeto { pattern, timezone } — senão roda no fuso errado (o "job das 6h" chega às 3h).
  • ⚠️ Retry sem idempotência multiplica efeito colateral (e-mail/cobrança duplicada).

Quando usar (e quando não)

Use pra qualquer coisa que precisa rodar no horário, em background, com retry e rastro. Não automatize um processo instável no manual — você só faz a bagunça acontecer sozinha, mais rápido.

Trigger.dev transforma "alguém precisa rodar isso toda manhã" em "já rodou, está aqui o resultado".

Próximo da série: #05 — Evolution API.

Curtiu como a gente pensa?

É assim que trabalhamos todo dia.

Se esse jeito de pensar é o seu, vem construir com a gente — dá uma olhada nas vagas abertas.

Ver vagas