我在IISNode上运行快速服务器,但发现Web服务因以下原因而停机:
我需要处理由于配置不匹配或连接问题导致IIS节点系统崩溃期间发生的异常。
I got the following error that Application has thrown an uncaught exception and it get terminated, not able to handle the exception:
Error: Node startup/recovery in progress. Not yet ready to accept connections
at process.<anonymous> (C:\Program Files\iisnode\interceptor.js:201:110)
at emitOne (events.js:77:13)
at process.emit (events.js:169:7)
at process._fatalException (node.js:224:26)
查看Google上的错误。看起来错误来自查询失败的查询到vertica数据库:
问题:
如何防止IISNOde在失败的查询中崩溃? 用于在IISNode崩溃时处理未捕获的异常的代码。
这些是我在package.json中的节点依赖项:
"dependencies": {
"async": "^2.1.4",
"body-parser": "^1.15.2",
"cors": "2.7.1",
"cron": "^1.2.1",
"express": "4.14.0",
"mssql": "3.3.0",
"winston": "2.2.0",
"xmlhttprequest": "^1.8.0"
}
答案 0 :(得分:1)
&#34;错误的原因:节点启动/恢复正在进行中。&#34;是IISNode旧版本具有在脚本尝试访问资源时崩溃的错误,该错误已在较新版本的&#34; IISNode&#34;中修复。
在下面提到的代码中,&#34; <configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="hello.js" verb="*" modules="iisnode" />
</handlers>
<iisnode idontexist="12" />
</system.webServer>
</configuration>
&#34;处理修复并添加以下代码行将避免崩溃并在IISNode中处理异常。
此问题已修复一段时间,
请安装最新的&#34; IISNode&#34;然后再试一次。
您可以尝试在&#34; Web.Config&#34;
中添加/替换这些行matches = []
File.readlines('data.txt').each do |line|
my_line = line.chomp.split(', ').map! { |l| l.split(/\s+(?=\d+$)/) }.flatten
matches << [['player1', 'scope_p1', 'player2', 'score_p2'], my_line].transpose.to_h
end
p matches
参考: https://github.com/tjanczuk/iisnode/blob/master/test/functional/www/116_configerror/web.config