我正在使用 jx mt-keep:4 server.js 作为 jxcore 运行 nodejs 代码(server.js)
我们每秒有很多请求命中,并且大部分都发生了事务。我正在寻找一种方法来捕获错误,以防任何线程死亡并将请求信息返回给我,以便我可以捕获该请求并根据它采取适当的行动。因此,在此我可能不会丢失传入的请求并会处理它。
这是一个 nodejs 项目,由于项目紧迫,已移至 jxcore。请让我知道是否有办法从代码级别处理它。
我正在使用 jx mt-keep:4 server.js 作为 jxcore 运行 nodejs 代码(server.js)
我们每秒有很多请求命中,并且大部分都发生了事务。我正在寻找一种方法来捕获错误,以防任何线程死亡并将请求信息返回给我,以便我可以捕获该请求并根据它采取适当的行动。因此,在此我可能不会丢失传入的请求并会处理它。
这是一个 nodejs 项目,由于项目紧迫,已移至 jxcore。请让我知道是否有办法从代码级别处理它。
实际上它类似于单个 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”启动您的应用程序,它支持多线程并重新加载崩溃的进程。