Node.js: Processi cron

Automatizza efficacemente le attività in Node.js con i processi cron

👋 Benvenuto nella documentazione di Stackhero!

Stackhero offre un ambiente Node.js cloud pronto all'uso, progettato per aiutarti a lavorare più velocemente:

  • Distribuisci in produzione in pochi secondi con un semplice git push. Non sono necessari strumenti aggiuntivi o configurazioni manuali.
  • Utilizza il tuo dominio e approfitta dei certificati HTTPS automatici, mantenendo la tua applicazione sicura senza configurazioni extra.
  • Backup automatici, aggiornamenti con un clic e prezzi prevedibili ti permettono di concentrarti sulle funzionalità, mentre Stackhero gestisce l'infrastruttura per te.
  • Basato su infrastruttura privata e dedicata per prestazioni costanti e sicurezza elevata.

Risparmia tempo e riduci la complessità operativa: puoi avere la tua applicazione in esecuzione su l'hosting Node.js cloud di Stackhero in pochi minuti.

Quando si sviluppano applicazioni Node.js, automatizzare attività ripetitive come l'invio di email programmate, la pulizia dei dati scaduti o l'esecuzione di manutenzioni regolari può migliorare significativamente sia l'efficienza che la scalabilità. Il modulo cron, disponibile su npm (cron module su npm), offre un modo semplice ed efficace per implementare tale automazione.

Nota: Sebbene il modulo npm node-cron sia un altro strumento disponibile per i processi cron, questa guida si concentra specificamente sul modulo cron e sulla sua implementazione.

Per iniziare a utilizzare il modulo cron nel tuo progetto, includilo come dipendenza eseguendo il seguente comando:

npm install cron

Una volta installato il modulo, puoi iniziare a programmare e gestire i processi cron nella tua applicazione. Ecco un esempio pratico:

const cron = require('cron');
const cronJobs = [];

// Gestisci con grazia lo spegnimento dell'applicazione fermando tutti i processi cron programmati.
// Quando si distribuisce nuovo codice o si spegne l'app, viene inviato un segnale di terminazione (SIGTERM).
// Questo assicura che l'app fermi tutti i processi cron in esecuzione prima di uscire.
process.on('SIGTERM', () => {
  cronJobs.forEach(cronJob => cronJob.stop());
});

// Programma un processo cron per eseguire ogni secondo.
cronJobs.push(
  new cron.CronJob(
    '* * * * * *', // Programmazione: Ogni secondo
    () => {
      console.log("Questo messaggio apparirà ogni secondo.");
    },
    null,
    true
  )
);

// Programma un processo cron per eseguire ogni minuto.
cronJobs.push(
  new cron.CronJob(
    '0 */1 * * * *', // Programmazione: Ogni minuto
    () => {
      console.log("Questo messaggio apparirà ogni minuto.");
    },
    null,
    true
  )
);

Il modulo cron utilizza la sintassi standard UNIX cron per definire le programmazioni. Ecco alcuni esempi comuni:

  • Ogni secondo: * * * * * *
  • Ogni 30 secondi: */30 * * * * *
  • Ogni 10 minuti: 0 */10 * * * *
  • Ogni 2 ore: 0 0 */2 * * *

Ora sei pronto per automatizzare le attività utilizzando il modulo cron nelle tue applicazioni Node.js. Per informazioni ed esempi più dettagliati, visita il repository ufficiale del modulo cron e consulta la directory degli esempi.