Voltar para o Blog
Vibe Coding25 / 40
  1. 01O que é vibe coding (e o que não é)
  2. 02De escrever código a dirigir a intenção
  3. 03O ciclo: contexto → plano → geração → revisão
  4. 04O arsenal: visão geral do nosso stack de IA
  5. 05Quando não usar vibe coding
  6. 06Da ideia ao protótipo em horas
  7. 07Claude para brainstorm de produto e PRD
  8. 08Claude Artifacts para mockups instantâneos
  9. 09Lovable: do prompt ao app funcional
  10. 10Google AI Studio: prototipando com Gemini
  11. 11Lovable × Claude × Google Studio: quando usar cada um
  12. 12Claude Code: o par de programação que conhece o monorepo
  13. 13Anatomia de um bom prompt de engenharia
  14. 14Plan mode: planejar antes de gerar
  15. 15Skills e slash commands (/investigate, /review, /ship)
  16. 16Refactors e migrations em massa
  17. 17Debugging com IA: do stack trace à causa raiz
  18. 18Supabase: a espinha dorsal de dados
  19. 19Modelagem com Drizzle ORM
  20. 20RLS na prática: a regra que não tem exceção
  21. 21Migrations SQL à mão e o drift DB↔Drizzle
  22. 22Auth com Google OAuth no Supabase
  23. 23Realtime, Storage e o resto do Supabase
  24. 24Trigger.dev: o piloto automático
  25. 25Seu primeiro job agendado
  26. 26Workflows com retry e observabilidade
  27. 27IA em background: resumos e narrativas
  28. 28Deploy do Trigger.dev e as pegadinhas
  29. 29Evolution API: WhatsApp como canal de produto
  30. 30Instância por usuário e gestão centralizada
  31. 31IA gerando resumos de conversa
  32. 32Boas práticas e armadilhas no WhatsApp
  33. 33Integrando APIs de terceiros com IA
  34. 34Anthropic SDK: Claude dentro do produto
  35. 35Resend: e-mail transacional que chega
  36. 36Google Analytics, Search Console e Ads
  37. 37Rate limit, retry, idempotência e secrets
  38. 38GitHub: CI/CD e AI Code Review como portão de qualidade
  39. 39Deploy no Google Cloud Run
  40. 40A cultura por trás do vibe coding (e o futuro)
Vibe CodingParte 25 de 40

Seu primeiro job agendado

2 min de leitura
Compartilhar
Vibe Coding

No #24 vimos por que o Trigger.dev existe. Agora a parte prática: como nasce um job agendado no nosso stack, do nada até rodar de verdade. Este post é o "mão na massa" do módulo.

O esqueleto de um job

Um job agendado tem três pedaços:

  1. O gatilho — quando rodar (um cron) ou o que dispara (um evento).
  2. A lógica — o que fazer quando acorda (ler dados, chamar IA, gravar resultado).
  3. O resultado — o que fica gravado pra app consumir.

A IA escreve esse esqueleto rápido. Você guia com contexto: "um job diário às 6h que lê X, resume com Claude e grava em Y".

O cron sem cair na pegadinha do fuso

Aqui mora uma das nossas pegadinhas favoritas: timezone. Um cron "0 6 * * *" sem fuso roda no fuso do servidor — que não é Brasília. No Trigger.dev, a gente declara o agendamento como objeto com { pattern, timezone } pra rodar no horário certo do Brasil. Esqueça isso e o "resumo das 6h" chega às 3h.

A regra que vem antes do código: idempotência

Job pode rodar mais de uma vez (retry, redeploy, disparo manual). Se "gerar o resumo de hoje" rodar duas vezes e criar dois resumos, você tem bug. Então a lógica precisa ser idempotente:

  • Checar se já existe o registro do dia antes de criar.
  • Usar upsert em vez de insert cego.
  • Ter chave que identifica "isso já foi feito".

Isso conversa direto com a regra da casa: antes de criar dado, cheque o que já existe.

Testar antes de confiar

  • Dispare manualmente primeiro, veja o resultado.
  • Olhe o log da execução (observabilidade do Trigger.dev).
  • Só então deixe no automático — e mesmo assim, acompanhe as primeiras rodadas.

A divisão de trabalho

IA escreve o job; você define frequência, fuso e idempotência, e valida a primeira execução. São essas três coisas que separam um job confiável de um gerador de plantão noturno.

⚠️ Armadilha #25: escrever o job assumindo que ele roda exatamente uma vez. Ele não roda. Job que não é idempotente é uma bomba-relógio que duplica dado no primeiro retry.

Próximo da série: #26 — Workflows com retry e observabilidade.

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