Node.js: Tâches cron

Automatisez efficacement les tâches dans Node.js avec des tâches cron

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Node.js cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Déployez votre application en quelques secondes avec un simple git push.
  • Utilisez votre propre nom de domaine et bénéficiez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
  • Profitez de la tranquillité d'esprit avec des sauvegardes automatiques, des mises à jour en un clic, et une tarification simple, transparente et prévisible.
  • Obtenez des performances optimales et une sécurité robuste grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il ne faut que 5 minutes pour essayer la solution d'hébergement cloud Node.js de Stackhero !

Lors du développement d'applications Node.js, automatiser des tâches répétitives comme l'envoi d'emails planifiés, le nettoyage des données expirées ou la réalisation de maintenances régulières peut considérablement améliorer à la fois l'efficacité et l'évolutivité. Le module cron, disponible sur npm (cron module sur npm), offre une méthode simple et efficace pour implémenter cette automatisation.

Remarque : Bien que le module npm node-cron soit un autre outil disponible pour les tâches cron, ce guide se concentre spécifiquement sur le module cron et son implémentation.

Pour commencer à utiliser le module cron dans votre projet, incluez-le comme dépendance en exécutant la commande suivante :

npm install cron

Une fois le module installé, vous pouvez commencer à planifier et gérer des tâches cron dans votre application. Voici un exemple pratique :

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

// Gérer gracieusement l'arrêt de l'application en stoppant toutes les tâches cron planifiées.
// Lors du déploiement de nouveau code ou de l'arrêt de l'application, un signal de terminaison (SIGTERM) est envoyé.
// Cela garantit que l'application arrête toutes les tâches cron en cours avant de se fermer.
process.on('SIGTERM', () => {
  cronJobs.forEach(cronJob => cronJob.stop());
});

// Planifier une tâche cron pour s'exécuter chaque seconde.
cronJobs.push(
  new cron.CronJob(
    '* * * * * *', // Planification : Chaque seconde
    () => {
      console.log("Ce message apparaîtra chaque seconde.");
    },
    null,
    true
  )
);

// Planifier une tâche cron pour s'exécuter chaque minute.
cronJobs.push(
  new cron.CronJob(
    '0 */1 * * * *', // Planification : Chaque minute
    () => {
      console.log("Ce message apparaîtra chaque minute.");
    },
    null,
    true
  )
);

Le module cron utilise la syntaxe standard UNIX cron pour définir les planifications. Voici quelques exemples courants :

  • Chaque seconde : * * * * * *
  • Toutes les 30 secondes : */30 * * * * *
  • Toutes les 10 minutes : 0 */10 * * * *
  • Toutes les 2 heures : 0 0 */2 * * *

Vous êtes maintenant prêt à automatiser des tâches en utilisant le module cron dans vos applications Node.js. Pour des informations et exemples plus détaillés, visitez le dépôt officiel du module cron et consultez le répertoire des exemples.