我是新手,并试图弄清楚过程监控如何与JXcore一起工作。我看到了文档,但需要几个步骤才能使我的服务器应用程序启动多线程并正确监控。
提前致谢!
答案 0 :(得分:1)
我会试着向你解释一下。成为新手并不可耻! :)
JXcore为您提供两种类型的应用程序监控。
1)其中一个是 Process Monitor ,这是一个作为单独实例运行的进程。您的应用程序可能会订阅它以进行监控。 Monitor会定期验证它们,如果它发现您的应用程序已经消失,它会尝试重新启动它。例如,如果您的应用程序服务器是http并且应该始终在线 - 进程监视器将确保它确实在运行。
开始监控应用程序的最快方法是:
> jx monitor start
> jx monitor run app.js
之后,当您的应用程序崩溃时,Process Monitor将重新启动它。你可以通过杀死应用程序的过程来测试它。
进程监视器还为您提供有关当前受监视进程的信息。您可以浏览以查看它们的列表:
http://127.0.0.1:17777/json
2)第二种监控功能是进程和线程恢复。使用进程恢复,您可以实现与进程监视相同的功能,因此没有理由同时使用它们。
另一种情况可能是:
假设你有一个多线程应用程序,只有恢复它的线程就足够了。
您的应用程序使用以下命令启动:
jx mt-keep:3 app.js
表示你用3个线程运行它。
启用线程恢复足以订阅process.on('restart')
事件,如下所示:
process.on('restart', function (cb) {
process.release();
cb();
});
请记住,拨打cb()
回拨。正如您可能在文档中看到的那样,在调用此回调之前,线程不会重新启动。在重新启动之前,您可以备份等等。
基本上就是这样。随意玩吧!