1

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

提前致谢!

4

1 回答 1

1

我会尽力向你解释。做新手没有什么可耻的!:)

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

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

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

  1. 启动监视器:> jx monitor start
  2. 启动您的应用程序并自动订阅监视器:> 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()回调。正如您可能在文档中看到的那样,在您调用此回调之前,线程不会重新启动。在重新启动之前,您可以备份一些东西等。

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

于 2014-03-28T17:19:49.157 回答