我正在运行一个nodejs代码(server.js)作为jxcore使用 jx mt-keep:4 server.js
我们每秒都会遇到大量请求,主要是交易。 我正在寻找一种方法来捕获任何线程死亡和请求信息的错误 返回给我,以便我可以抓住这个请求,并根据它采取适当的行动。 所以在这里,我可能不会丢失请求,并会处理它。
这是一个nodejs项目,由于项目紧迫性已移至jxcore。 如果有办法在代码级别处理它,请告诉我。
答案 0 :(得分:1)
实际上它与单个Node.JS实例类似。您有相同的工具和选项来处理错误。
此外,当JXcore线程在JS域上捕获到意外异常(任务队列停止将请求发送回此实例)然后安全地重新启动特定线程时,JXcore线程会警告任务队列。您可以收听线程的'未捕获异常','重启'事件并管理更软的重启。
process.on('restart', res_cb, exit_code){
// thread needs a restart (due to unhandled exception, IO, hardware etc..)
// prepare your app for this thread's restart
// call res_cb(exit_code) for restart.
});
注意:在重新启动任何线程之前,JXcore期望应用程序启动并运行至少5秒钟。也许这个限制可以保护应用程序不会循环重新启动线程。
您可以使用'jx monitor'启动应用程序,它支持多线程并重新加载崩溃的进程。