JXcore,外部过程监控如何工作?

我是一个新手,并试图找出过程监控如何与JXcore工作。 我看到了文档,但需要几个步骤才能使我的服务器应用程序启动multithreading并正确监视。

提前致谢!

我会尽力向你解释。 做一个新手是不可耻的! 🙂

JXcore为您提供了两种types的应用程序监视。

1)其中之一是进程监视器 ,这是一个进程,作为单独的实例运行。 您的应用程序可能会订阅它进行监控。 Monitor定期对它们进行validation,如果它发现你的应用程序不见了,它会尝试重新启动它。 例如,如果您的应用程序服务器http和应该一直在线 – Process Monitor将确保它确实在运行。

开始监控您的应用程序的最快方法是:

  1. 启动显示器: > jx monitor start
  2. 自动订阅监视器启动您的应用程序: > jx monitor run app.js

之后,当您的应用程序崩溃时,Process Monitor将重新启动它。 你可以通过杀死你的应用程序来testing它。

进程监视器还为您提供有关当前受监视进程的信息 您可以浏览以查看其列表:

 http://127.0.0.1:17777/json 

2)第二种types的监视function是进程和线程恢复 。 使用stream程恢复,您可以实现与stream程监控一样的function,因此没有理由同时使用它们。

另一种情况可能是:

比方说,你有一个multithreading的应用程序,只有恢复它的线程就足够了。

您的应用程序使用命令启动:

jx mt-keep:3 app.js

这意味着你用3个线程运行它。

启用线程恢复就足够了,像这样订阅process.on('restart')事件:

 process.on('restart', function (cb) { process.release(); cb(); }); 

记住,要调用cb()callback。 正如你可能在文档中看到的那样,直到你调用这个callback函数,线程才会重启。 在重新启动之前,你可以备份一些东西等

基本就是这样。 随意玩吧!