我是一个新手,试图弄清楚JXcore如何进行过程监视。我看了文档,但是需要一些步骤才能使我的服务器应用程序以多线程启动并正确监控。

提前致谢!

最佳答案

我会尽力向您解释。成为新手不会感到羞耻! :)

JXcore为您提供两种类型的应用程序监视。

1)其中之一是Process Monitor,它是一个作为独立实例运行的进程。您的应用程序可能会订阅它进行监视。 Monitor会定期对它们进行验证,如果发现您的应用程序已消失,它将尝试重新启动它。例如,如果您的应用程序服务器始终http并且应该一直在线-Process Monitor将确保它确实在运行。

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


启动监视器:> jx monitor start
通过自动订阅监视器来启动您的应用程序:> jx monitor run app.js


之后,当您的应用程序崩溃时,Process Monitor将重新启动它。您可以通过取消应用程序的进程来对其进行测试。

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

http://127.0.0.1:17777/json


2)监视功能的第二种类型是进程和线程恢复。使用Process Recovery,您可以实现与Process Monitoring相同的功能,因此没有理由同时使用它们。

另一种情况可能是:

假设您有一个多线程应用程序,仅恢复它的线程就足够了。

您的应用程序通过以下命令启动:


  jx mt-keep:3 app.js


这意味着您需要3个线程来运行它。

启用线程恢复足以订阅process.on('restart')事件,如下所示:

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


记住,要调用cb()回调。就像您在文档中可能看到的那样,线程只有在调用此回调后才会重新启动。重新启动之前,您可以备份内容等。

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

09-20 17:19