node-cron: Agendador de Tarefas JavaScript

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é node-cron?

node-cron é uma biblioteca leve para Node.js que permite executar funções JavaScript (tarefas) em um agendamento, usando a sintaxe de expressões cron. Ela é análoga ao agendador de sistema cron no Unix, mas opera dentro da sua aplicação.

Para que serve?

A biblioteca é necessária para automatizar operações rotineiras no servidor: limpeza de banco de dados, envio de mailings, criação de backups, atualização de cache, parsing de dados e quaisquer outras tarefas periódicas. Isso elimina a necessidade de escrever timers próprios e gerenciar intervalos de tempo manualmente.

Instalação

A instalação é feita via npm ou yarn:

npm install node-cron

ou

yarn add node-cron

Principais funcionalidades

  • Simplicidade de sintaxe: usa expressões cron padrão (minutos, horas, dias, etc.)
  • Flexibilidade: suporte a segundos, fuso horário opcional, execução em dias úteis/finais de semana
  • Gerenciamento de tarefas: métodos start(), stop(), destroy() para controlar a execução
  • Leveza: não requer dependências externas, o tamanho da biblioteca é mínimo

Exemplo de código em JavaScript (Node.js)

const cron = require('node-cron');

// Tarefa: exibir mensagem a cada minutocron.schedule('* * * * *', () => { console.log('Tarefa executada a cada minuto');});

// Tarefa: todos os dias às 9:30 da manhãcron.schedule('30 9 * * *', () => { console.log('Tarefa diária às 9:30');});

// Tarefa: toda segunda-feira às 8:00cron.schedule('0 8 * * 1', () => { console.log('Segunda-feira, 8:00 — hora do relatório');});

// Tarefa com segundos: a cada 10 segundoscron.schedule('*/10 * * * * *', () => { console.log('10 segundos se passaram');});

// Parar a tarefa após 5 segundosconst task = cron.schedule('*/1 * * * * *', () => { console.log('Tarefa infinita');});setTimeout(() => { task.stop(); console.log('Tarefa parada');}, 5000);

Quando usar

Use node-cron quando precisar executar código em um horário específico ou com uma periodicidade definida dentro de uma aplicação Node.js. É ideal para:

  • limpeza regular de arquivos temporários ou logs;
  • envio de notificações ou emails agendados;
  • sincronização de dados com APIs externas;
  • geração de relatórios em segundo plano;
  • execução de testes ou verificações de saúde do servidor.

A biblioteca não é adequada para sistemas distribuídos de alta carga (neste caso, é melhor usar uma fila de tarefas), mas para a maioria dos cenários típicos, é a solução ideal.

Recommendations