【问题标题】:Jxcore Error handling in For Multiple Request Nodejs多请求Nodejs中的Jxcore错误处理
【发布时间】:2015-03-12 12:27:43
【问题描述】:
我正在运行 nodejs 代码 (server.js) 作为 jxcore 使用
jx mt-keep:4 server.js
我们每秒有很多请求命中,并且大部分都发生了事务。
我正在寻找一种方法来捕获错误以防任何线程死亡并且请求信息是
返回给我,以便我可以捕获该请求并根据它采取适当的行动。
因此,在此我可能不会丢失传入的请求并会处理它。
这是一个 nodejs 项目,由于项目紧急,已移至 jxcore。
请让我知道是否有办法从代码级别处理它。
【问题讨论】:
标签:
javascript
html
node.js
jxcore
【解决方案1】:
实际上它类似于单个 Node.JS 实例。您有相同的工具和选项来处理错误。
此外,当 JXcore 线程在 JS 领域捕获意外异常时会警告任务队列(任务队列停止将请求发送回此实例),然后安全地重新启动特定线程。您可以监听线程的“未捕获异常”、“重启”事件并管理更柔和的重启。
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”启动您的应用程序,它支持多线程并重新加载崩溃的进程。