WhatsApp chat

Ejecutar un cron en Node.js

Ejecutar un cron en nodejs, • nodejscron
Back

En muchas aplicaciones necesitamos ejecutar tareas de forma periódica: limpiar datos, enviar correos, sincronizar información, etc. En Node.js podemos hacerlo de forma sencilla con la librería node-cron, que usa la misma sintaxis que el cron de Linux, con un campo opcional adicional para los segundos.

Instalación

Para este ejemplo instalamos las dependencias con npm install node-cron dateformat colors.

Código

cron.js

var dateFormat = require('dateformat');
const cron = require("node-cron");
const colors = require("colors");

cron.schedule('* * * * * *', () => {
    var day=dateFormat(new Date(), "yyyy-mm-dd h:MM:ss");
    console.log('1- running a task every second: ', day.green);
});

/*
 # ┌────────────── second (optional)
 # │ ┌──────────── minute
 # │ │ ┌────────── hour
 # │ │ │ ┌──────── day of month
 # │ │ │ │ ┌────── month
 # │ │ │ │ │ ┌──── day of week
 # │ │ │ │ │ │
 # │ │ │ │ │ │
 # * * * * * *
*/

Al ejecutarlo con node cron.js, se mostrará en la consola la fecha y la hora cada segundo. Para otras frecuencias basta con cambiar la expresión; por ejemplo, */5 * * * * ejecuta la tarea cada cinco minutos.

Nota

Las versiones recientes de dateformat solo se distribuyen como módulo ES; si require da error, instala una versión anterior (la 4.x) o usa import.