Tag: 初始化

如何防止pm2在启动过程中出现错误时重新启动应用程序

上下文 我已经将configurationvalidation添加到组成我的Node.js应用程序的一些模块中。 当他们开始时,每个人检查它是否正确configuration,并有权访问它需要的资源(例如可以写入一个目录)。 如果它检测到有什么错误,它会向自己发送一个SIGINT(process.pid),这样应用程序就会正常closures(closureshttp服务器,closures与Redis的连接等等)。 我希望操作员在启动应用程序之前,意识到存在configuration和/或环境问题并对其进行修复。 我使用pm2开始/停止/重新加载应用程序,我喜欢事实pm2会自动重新启动它的情况下,以后崩溃,但我不希望它重新启动我的应用程序在上面的情况下,因为根本原因不会只需重新启动应用程序即可消除,所以pm2将继续重新启动max_restarts (默认为max_restarts中的10)。 题 如何防止pm2在启动过程中中止重新启动应用程序? 我知道–wait-ready有–wait-ready选项,但是由于我们正在讨论多个模块和asynchronous启动逻辑,所以我很难确定何时/何时process.send('ready') 。 可能的scheme 我正在考虑让我的所有模块发出一个内部的“准备好”事件,并把所有连接“准备好”事件的事情连接起来,最终能够将“准备好”发送给pm2,但是我想先问一下,有点过于工程。 谢谢, 罗杰

练习初始化variables为false

在一个nodejs课程(NodeJS in Action – manning的书)之后,我看到了这段代码 // create server var server = http.createServer(function(request, response){ var filePath = false; if (request.url == '/') { filePath = 'public/index.html'; } else { filePath = 'public' + request.url; } var absPath = './' + filePath; serveStatic(response, cache, absPath); }); server.listen(3000, function(){ console.log('Server listening on port 3000.'); }); 我的问题是关于variables“filePath”。 它正在被初始化为false,但后来它需要string值。 我使用的编辑器(Visual […]