NextJS est un puissant framework de développement web basé sur React. Il permet aux développeurs de créer des applications web performantes et optimisées qui peuvent fonctionner aussi bien du côté serveur que du côté client. Avec NextJS, il est possible de révolutionner la gestion des tâches programmées (CRON) et des flux de travail automatisés (JOBS).
Dans cet article, nous allons explorer comment NextJS peut être utilisé pour créer des applications web hautement fonctionnelles et performantes qui peuvent révolutionner la gestion des tâches programmées et des flux de travail automatisés.
Création d’une application NextJS
Pour commencer, vous devez d’abord créer une nouvelle application NextJS en utilisant la commande suivante :
npx create-next-app my-next-app
Cette commande va créer un nouveau projet NextJS avec la structure de fichiers de base nécessaires pour démarrer. Une fois le projet créé, vous pouvez naviguer dans le répertoire de votre projet et lancer l’application en utilisant la commande suivante :
cd my-next-app
npm run dev
Cette commande va démarrer un serveur de développement local et vous pourrez voir votre application en direct en ouvrant un navigateur et en accédant à l’URL http://localhost:3000
.
Gestion des tâches programmées avec NextJS
NextJS propose une fonctionnalité appelée "API routes" qui permet de créer des routes personnalisées pour gérer les appels d’API. Cette fonctionnalité peut être utilisée pour créer des tâches programmées en utilisant les tâches cron.
Pour commencer, vous devez créer un fichier dans le répertoire pages/api
de votre projet NextJS. Par exemple, vous pouvez créer un fichier nommé cron-job.js
. Dans ce fichier, vous pouvez écrire le code nécessaire pour effectuer la tâche programmée souhaitée. Par exemple, vous pouvez envoyer un e-mail toutes les heures en utilisant le code suivant :
export default function handler(req, res) {
// Code to send an email
res.status(200).json({ message: 'Email sent successfully' });
}
Une fois que vous avez écrit le code nécessaire, vous pouvez tester la tâche programmée en accédant à l’URL http://localhost:3000/api/cron-job
dans votre navigateur. Cette action déclenchera l’exécution de la tâche programmée que vous avez définie dans le fichier cron-job.js
.
Gestion des flux de travail automatisés avec NextJS
En plus de la gestion des tâches programmées, NextJS peut également être utilisé pour automatiser les flux de travail et les processus métier en créant des jobs. Les jobs peuvent être des processus qui s’exécutent en arrière-plan pour effectuer des tâches spécifiques telles que l’indexation de données, le traitement des paiements, l’envoi de notifications, etc.
Pour créer un job avec NextJS, vous pouvez utiliser une bibliothèque telle que bull
qui facilite la création et la gestion de jobs en arrière-plan. Vous pouvez installer la bibliothèque bull
en exécutant la commande suivante :
npm install bull
Ensuite, vous pouvez créer un script dans votre projet NextJS pour utiliser la bibliothèque bull
et définir les jobs nécessaires. Par exemple, vous pouvez créer un fichier jobs.js
dans le répertoire utils
de votre projet et y définir un job pour l’envoi de notifications comme suit :
import Queue from 'bull';
const notificationsQueue = new Queue('notifications');
notificationsQueue.process(function(job, done) {
// Code to send notifications
done();
});
export default notificationsQueue;
Une fois que vous avez défini le job, vous pouvez lancer le processus de traitement en utilisant la méthode add
de la file d’attente. Par exemple, vous pouvez envoyer une notification en appelant la méthode add
comme suit :
import notificationsQueue from '../utils/jobs';
notificationsQueue.add({ message: 'Notification message' });
En conclusion, NextJS offre de nombreuses fonctionnalités puissantes pour la création d’applications web performantes et optimisées. En utilisant les API routes et des bibliothèques comme bull
, il est possible de révolutionner la gestion des tâches programmées et des flux de travail automatisés. En suivant les étapes décrites dans cet article, vous pouvez créer des applications NextJS qui peuvent révolutionner la gestion des jobs et des cron dans vos projets web.
⚠ Les temps de chargement quand je dis "11s" c'est finalement faux, c'est beaucoup plus lent sur leurs services car ils font plusieurs request etc… donc ça ne prendrait pas vraiment 11 second.
L'émoi de la découverte des traitements asynchrone, drôle !
Il reste maintenant le websocket avec next js si pourrais faire video.
Salut , merci pour la video.
Si je comprend bien il faudrait quand meme faire le tri dans les actions et savoir lesquels soumettre en job et les quels exécuter de suite ?
Ce tri serait basé sur des éléments de sécurité et de logique ? ( Typiquement tu vas pas envoyer ton boilerplate a l'user avant d'etre sur d'avoir recu l'argent etc…)
Merci pour nous parler de cet outil
Très intéressant, mais j'ai une question. Si je lance l'action asynchrone (mail, notif, etc.) sans "await" le résultat, cela ne revient-il pas au même ? Ça lancera juste l'exécution de la Promise sans se soucier d'attendre la résolution de celle-ci, non ? Ou bien je suis à côté de la plaque ?
Trop bien !!!! Merci
Pour un truc plus sérieux , jettes un coup d'oeil a bullmq😊
Une révolution !
Très belle vidéo
Stp tu utilises quel logiciel pour que pendant ta navigation tu es capable de dessiner sur une ligne du code
Humm