node-cron para jobs agendados

## Instalando e Usando Cron em Node.js: Crie Tarefas Recorrentes e Automatize Processos

Automatizar tarefas é crucial para qualquer aplicação. Em Node.js, você pode facilmente agendar a execução de funções e scripts usando bibliotecas como node-cro…


This content originally appeared on DEV Community and was authored by Lucas Pereira de Souza

logotech

## Instalando e Usando Cron em Node.js: Crie Tarefas Recorrentes e Automatize Processos

Automatizar tarefas é crucial para qualquer aplicação. Em Node.js, você pode facilmente agendar a execução de funções e scripts usando bibliotecas como node-cron. Este artigo explora como instalar, configurar e usar o node-cron para criar tarefas recorrentes, com um exemplo prático de lembretes.

Instalando o node-cron

A instalação do node-cron é simples. Use o gerenciador de pacotes npm (Node Package Manager) no seu terminal:

npm install node-cron

Criando Tarefas Recorrentes

Com o node-cron instalado, você pode começar a agendar suas tarefas. A biblioteca usa uma sintaxe baseada em cron para definir a frequência com que as tarefas devem ser executadas. A sintaxe básica é:

* * * * * *
│ │ │ │ │ │
│ │ │ │ │ └─ Dia da semana (0 - 7, onde 0 e 7 representam Domingo)
│ │ │ │ └─ Mês (1 - 12)
│ │ │ └─ Dia do mês (1 - 31)
│ │ └─ Hora (0 - 23)
│ └─ Minuto (0 - 59)
└─ Segundo (0 - 59)

Exemplos:

  • '0 0 * * *': Executa a tarefa à meia-noite (00:00) todos os dias.
  • '0 12 * * 1-5': Executa a tarefa ao meio-dia (12:00) de segunda a sexta-feira.
  • '*/10 * * * *': Executa a tarefa a cada 10 minutos.

Implementação:

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

// Função a ser executada
const tarefa = () => {
  console.log('Tarefa sendo executada às ' + new Date().toLocaleString());
};

// Agendando a tarefa para rodar a cada minuto
cron.schedule('* * * * *', tarefa);

console.log('Tarefa agendada!');

Exemplo: Sistema de Lembretes

Vamos criar um exemplo prático de um sistema de lembretes que envia notificações.

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

// Função para enviar o lembrete (simulação)
const enviarLembrete = (mensagem) => {
  console.log(`Lembrete: ${mensagem} - ${new Date().toLocaleString()}`);
  // Aqui você pode adicionar lógica para enviar notificações (e-mail, SMS, etc.)
};

// Agendando um lembrete
cron.schedule('0 9 * * *', () => { // Executa todos os dias às 9h
  enviarLembrete('Lembrete: Reunião importante em 30 minutos!');
});

cron.schedule('30 14 * * 1-5', () => { // Executa de segunda a sexta às 14:30
  enviarLembrete('Lembrete: Hora do relatório semanal!');
});

console.log('Sistema de lembretes iniciado!');

Neste exemplo:

  1. Importamos o node-cron.
  2. Criamos a função enviarLembrete que simula o envio de um lembrete. No mundo real, você usaria essa função para enviar e-mails, notificações push, etc.
  3. Agendamos dois lembretes: um para uma reunião importante e outro para um relatório semanal.

Considerações Finais

  • Tratamento de Erros: Implemente tratamento de erros dentro das suas tarefas agendadas para garantir que falhas não interrompam o agendamento.
  • Logs: Utilize logs para monitorar a execução das suas tarefas e solucionar problemas.
  • Persistência: Para tarefas que precisam ser executadas mesmo com a aplicação fora do ar, considere o uso de ferramentas externas de agendamento de tarefas (como um cron job do sistema operacional).
  • Testes: Teste suas tarefas agendadas para garantir que elas funcionem conforme o esperado.

Com o node-cron, você tem uma ferramenta poderosa para automatizar tarefas em suas aplicações Node.js. Comece a usar e otimize seus processos hoje mesmo!


This content originally appeared on DEV Community and was authored by Lucas Pereira de Souza


Print Share Comment Cite Upload Translate Updates
APA

Lucas Pereira de Souza | Sciencx (2025-10-17T16:15:35+00:00) node-cron para jobs agendados. Retrieved from https://www.scien.cx/2025/10/17/node-cron-para-jobs-agendados/

MLA
" » node-cron para jobs agendados." Lucas Pereira de Souza | Sciencx - Friday October 17, 2025, https://www.scien.cx/2025/10/17/node-cron-para-jobs-agendados/
HARVARD
Lucas Pereira de Souza | Sciencx Friday October 17, 2025 » node-cron para jobs agendados., viewed ,<https://www.scien.cx/2025/10/17/node-cron-para-jobs-agendados/>
VANCOUVER
Lucas Pereira de Souza | Sciencx - » node-cron para jobs agendados. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/10/17/node-cron-para-jobs-agendados/
CHICAGO
" » node-cron para jobs agendados." Lucas Pereira de Souza | Sciencx - Accessed . https://www.scien.cx/2025/10/17/node-cron-para-jobs-agendados/
IEEE
" » node-cron para jobs agendados." Lucas Pereira de Souza | Sciencx [Online]. Available: https://www.scien.cx/2025/10/17/node-cron-para-jobs-agendados/. [Accessed: ]
rf:citation
» node-cron para jobs agendados | Lucas Pereira de Souza | Sciencx | https://www.scien.cx/2025/10/17/node-cron-para-jobs-agendados/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.