小编典典

永远与Node.js结合使用

node.js

我有一些关于永久使用Node.js的问题,可能很琐碎。根据我的阅读,永远可以通过编程使用,并且它维护了一个列表,其中包含所有永远使用的脚本。该进程终止后,它会自动产生一个新的进程,直到停止为止。

但是,我的问题是,如何永远做到这一点?是否还会添加这些脚本以在启动时启动?


阅读 282

收藏
2020-07-07

共1个答案

小编典典

您可以像这样永久性地使用程序:

在node.js脚本中使用Forever实例:

var forever = require('forever-monitor');

  var child = new (forever.Monitor)('your-filename.js', {
    max: 3,
    silent: true,
    options: []
  });

  child.on('exit', function () {
    console.log('your-filename.js has exited after 3 restarts');
  });

  child.start();

您应该花一点时间阅读一下README.md中
Forever的出色文档中的可用选项。

您还可以在Forever中监听许多事件:

  • 错误[err]:发生错误时引发
  • start [进程,fvrFile,数据]:在首次启动目标脚本时引发。
  • 停止[进程]:当用户停止目标脚本时引发
  • save [路径,数据]:当目标Monitor将pid信息保存到磁盘时引发。
  • 重新启动[永远]:每次重新启动目标脚本时引发
  • exit [forever]:在目标脚本实际(永久)退出时引发。
  • stdout [data]:从子进程的stdout接收到数据时引发
  • stderr [data]:从子进程的stderr接收到数据时引发

通过将事件侦听器附加到您要运行的脚本并以一种优雅的方式处理它们,可以做到这一点。

如果您想确切地看一下它是如何执行的,则该代码已被很好地记录下来。

您还应该阅读有关如何使进程永久运行的出色教程

至于第二个问题:不,它不会将其添加到启动时启动。为此,您需要将其添加为新贵工作,或使用诸如Monit之类的工具进行监视和启动。为此,您应该看一下使用Upstart和Monit部署Node.js的方法。这是一个很棒的教程。

2020-07-07