JXcore,外部过程监控如何工作?
我是一个新手,并试图找出过程监控如何与JXcore工作。 我看到了文档,但需要几个步骤才能使我的服务器应用程序启动multithreading并正确监视。
提前致谢!
我会尽力向你解释。 做一个新手是不可耻的! 🙂
JXcore为您提供了两种types的应用程序监视。
1)其中之一是进程监视器 ,这是一个进程,作为单独的实例运行。 您的应用程序可能会订阅它进行监控。 Monitor定期对它们进行validation,如果它发现你的应用程序不见了,它会尝试重新启动它。 例如,如果您的应用程序服务器http和应该一直在线 – Process Monitor将确保它确实在运行。
开始监控您的应用程序的最快方法是:
- 启动显示器:
> jx monitor start
- 自动订阅监视器启动您的应用程序:
> 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函数,线程才会重启。 在重新启动之前,你可以备份一些东西等
基本就是这样。 随意玩吧!