Node.js est un environnement d'exécution multiplateforme open source. Il permet aux développeurs Web en herbe de créer des applications efficaces à l’aide d’un simple code JavaScript. Mais lors du développement, vous devez réfléchir à la manière d'arrêter correctement votre application Node.js. Dans cet article, nous verrons comment arrêter gracieusement le code Node.js.
Voici un exemple qui montre comment configurer un gestionnaire de signal :
function gracefulShutdown() { console.log("Node process stopping..."); // 停止Web服务器 server.close(() => console.log("HTTP server stopped")); // 关闭数据库连接 mongoose.connection.close(() => console.log("MongoDB connection closed")); // 结束Node进程 process.exit(0); } process.on("SIGTERM", gracefulShutdown); process.on("SIGINT", gracefulShutdown);
Dans cet extrait de code, lorsque les signaux SIGTERM et SIGINT sont reçus, la fonction gracefulShutdown sera appelée pour effectuer les opérations suivantes :
Voici un exemple utilisant le module Forever pour Node.js :
var forever = require("forever"); var child = new (forever.Monitor)("app.js", { max: 3, //最多重启3次 silent: true, // 启动应用程序时,不显示输出到控制台的日志 args: [] }); // 在关闭应用程序之前执行以下操作 child.on("exit", function() { console.log("App has stopped"); }); // 启动并监视应用程序 child.start();
Dans cet extrait de code, le module Forever peut lancer et surveiller une application Node.js. Si après quatre tentatives de redémarrage de l'application sans succès, l'application s'arrêtera. Si vous utilisez cette méthode, vous devez arrêter le module toujours à la fin pour vous assurer que tous les processus sur le serveur sont fermés.
Conclusion
Dans le développement d'applications Node.js, arrêter correctement l'application est un enjeu important. L'arrêt progressif d'une application Node.js garantit que les données sont préservées, que toutes les ressources ne sont pas affectées et que le fonctionnement des autres applications n'est pas affecté. Cet article propose quatre méthodes différentes, notamment l'utilisation du raccourci Ctrl + C, la création d'une fonction de traitement du signal, l'utilisation de la méthode process.exit(0) et l'utilisation des modules Node et npm. Vous pouvez choisir la méthode la mieux adaptée à vos besoins pour garantir que votre application Node.js s'arrête correctement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!