· 7 min read

Exemple de tâche cron avec Node.js : un guide pratique

Node.js est une plateforme logicielle populaire qui permet d’exécuter du code JavaScript côté serveur. Une des nombreuses utilisations de Node.js est la planification de tâches, également connue sous le nom de tâches cron. Dans ce guide, nous allons explorer comment créer une tâche cron en utilisant Node.js. Nous commencerons par une introduction à Node.js et aux tâches cron, suivie d’un guide étape par étape sur la création de votre première tâche cron avec Node.js. Que vous soyez un développeur expérimenté cherchant à approfondir vos connaissances ou un débutant complet, ce guide est conçu pour vous aider à comprendre et à mettre en œuvre des tâches cron avec Node.js.

Installation de node-cron

Pour commencer avec les tâches cron dans Node.js, nous allons utiliser un module appelé node-cron. Ce module vous permet de planifier des tâches dans votre application Node.js de manière très flexible et intuitive.

Pour installer node-cron, ouvrez votre terminal et naviguez vers le répertoire de votre projet Node.js. Ensuite, exécutez la commande suivante :

npm install --save node-cron

Cette commande installe node-cron et l’ajoute à votre fichier package.json, ce qui signifie que toute personne qui installe votre projet avec npm install installera également node-cron.

Maintenant que node-cron est installé, nous pouvons commencer à l’utiliser pour planifier des tâches. Dans la section suivante, nous allons créer une application Node.js simple et planifier notre première tâche cron.

Création d’une application Node

Pour créer une application Node.js, vous aurez d’abord besoin de Node.js et npm installés sur votre machine. Si vous ne les avez pas déjà installés, vous pouvez les télécharger à partir du site officiel de Node.js.

Une fois que vous avez Node.js et npm, vous pouvez créer un nouveau projet en créant un nouveau dossier sur votre machine et en initialisant un nouveau projet npm avec la commande suivante :

npm init -y

Cette commande crée un nouveau fichier package.json dans votre dossier, qui contient des informations sur votre projet et les dépendances que vous allez installer.

Ensuite, vous pouvez créer un nouveau fichier app.js (ou tout autre nom que vous préférez) dans votre dossier de projet. Ce fichier sera le point d’entrée de votre application.

Dans app.js, vous pouvez commencer par écrire un simple “Hello, World!” programme pour vous assurer que tout fonctionne correctement. Voici comment vous pouvez le faire :

console.log("Hello, World!");

Pour exécuter votre application, vous pouvez utiliser la commande suivante dans votre terminal :

node app.js

Si tout est configuré correctement, vous devriez voir “Hello, World!” s’afficher dans votre terminal. Maintenant que vous avez une application Node.js en cours d’exécution, vous êtes prêt à commencer à planifier des tâches avec node-cron. Dans la section suivante, nous allons vous montrer comment planifier votre première tâche.

Planification d’une tâche

Avec node-cron, la planification d’une tâche est aussi simple que de fournir une fonction et un horaire à une fonction de planification. Voici comment vous pouvez le faire :

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

cron.schedule('* * * * *', () => {
  console.log('Tâche planifiée avec node-cron');
});

Dans cet exemple, nous avons planifié une tâche pour s’exécuter toutes les minutes. La fonction schedule prend deux arguments : une chaîne de caractères qui représente l’horaire et une fonction qui est la tâche à exécuter.

L’horaire est une chaîne de caractères qui suit la syntaxe cron standard, qui est une manière très flexible de spécifier des horaires. Dans notre exemple, * * * * * signifie “chaque minute de chaque heure de chaque jour du mois de chaque mois de chaque jour de la semaine”.

La fonction est simplement une fonction JavaScript qui sera exécutée à l’horaire spécifié. Dans notre exemple, la fonction se contente d’afficher un message dans la console.

Avec node-cron, vous pouvez planifier des tâches pour s’exécuter à des intervalles très précis, comme toutes les cinq minutes, tous les mardis à 14h30, ou même le premier jour de chaque année.

Dans la section suivante, nous allons voir comment exécuter la tâche cron que nous venons de planifier.

Exécution de la tâche cron

Pour exécuter la tâche cron que vous avez planifiée, vous n’avez qu’à exécuter votre application Node.js. Vous pouvez le faire en utilisant la commande suivante dans votre terminal :

node app.js

Si vous avez planifié votre tâche pour s’exécuter toutes les minutes, vous devriez voir votre message s’afficher dans la console toutes les minutes.

Il est important de noter que votre application Node.js doit être en cours d’exécution pour que vos tâches cron soient exécutées. Si vous arrêtez votre application, vos tâches cron s’arrêteront également.

Si vous voulez que vos tâches cron s’exécutent en continu, même si votre application Node.js n’est pas en cours d’exécution, vous devrez utiliser un outil comme pm2, forever ou nodemon. Ces outils peuvent démarrer votre application Node.js en arrière-plan et la garder en cours d’exécution, même si vous fermez votre terminal.

Dans la section suivante, nous allons explorer quelques cas d’utilisation courants des tâches cron dans Node.js.

Cas d’utilisation courants

Les tâches cron dans Node.js peuvent être utilisées dans une variété de cas d’utilisation. Voici quelques exemples courants :

  1. Nettoyage régulier des données : Vous pouvez utiliser une tâche cron pour supprimer régulièrement les données inutiles ou obsolètes de votre base de données. Par exemple, vous pouvez supprimer les sessions utilisateur expirées, les logs anciens, ou les données temporaires qui ne sont plus nécessaires.

  2. Envoi d’e-mails : Si vous avez besoin d’envoyer des e-mails à vos utilisateurs à des moments précis, vous pouvez utiliser une tâche cron pour le faire. Par exemple, vous pouvez envoyer un e-mail de rappel à vos utilisateurs tous les mois, ou envoyer un bulletin d’information hebdomadaire.

  3. Sauvegardes automatiques : Vous pouvez utiliser une tâche cron pour créer des sauvegardes automatiques de votre base de données ou de vos fichiers importants. Vous pouvez planifier la tâche pour qu’elle s’exécute à un moment où votre serveur est moins occupé, comme au milieu de la nuit.

  4. Vérification régulière de la santé du système : Vous pouvez utiliser une tâche cron pour vérifier régulièrement l’état de santé de votre système et vous alerter en cas de problème. Par exemple, vous pouvez vérifier l’utilisation du disque, la charge du processeur, ou la disponibilité de votre site web.

  5. Récupération et traitement des données : Si vous avez besoin de récupérer régulièrement des données à partir d’une API externe ou d’un autre service, vous pouvez utiliser une tâche cron pour le faire. Vous pouvez ensuite traiter les données et les stocker dans votre base de données pour une utilisation ultérieure.

Ces exemples ne sont que quelques-uns des nombreux cas d’utilisation possibles des tâches cron dans Node.js. Avec la flexibilité et la puissance de Node.js et node-cron, les possibilités sont presque infinies.

Conclusion

Dans ce guide, nous avons exploré comment utiliser node-cron pour planifier des tâches dans une application Node.js. Nous avons couvert l’installation de node-cron, la création d’une application Node.js, la planification et l’exécution d’une tâche cron, et nous avons discuté de quelques cas d’utilisation courants des tâches cron.

Les tâches cron sont un outil puissant qui peut grandement améliorer l’efficacité de votre application Node.js. Que vous ayez besoin de nettoyer régulièrement votre base de données, d’envoyer des e-mails programmés, de faire des sauvegardes automatiques, de vérifier la santé de votre système, ou de récupérer et traiter des données, node-cron peut vous aider à accomplir ces tâches de manière simple et efficace.

Nous espérons que ce guide vous a été utile et que vous êtes maintenant plus à l’aise avec l’utilisation des tâches cron dans Node.js. Bon codage !

    Share:
    Back to Blog