Heroku Node.js应用程序不断崩溃并重新启动
更新:我用一个简单的console.log()作为Node.js脚本制作了一个最小的可复制示例,但我仍然存在同样的问题(应用程序在执行后“崩溃”,在Heroku看似随机的间隔后重新启动),所以我猜一定是我对Heroku的工作原理有误解 我正在Heroku上运行几个不同的Node.js应用程序,使用标准的Heroku Node.js应用程序不断崩溃并重新启动,node.js,heroku,Node.js,Heroku,更新:我用一个简单的console.log()作为Node.js脚本制作了一个最小的可复制示例,但我仍然存在同样的问题(应用程序在执行后“崩溃”,在Heroku看似随机的间隔后重新启动),所以我猜一定是我对Heroku的工作原理有误解 我正在Heroku上运行几个不同的Node.js应用程序,使用标准的Heroku/nodejsbuildpack。我在他们身上都遇到了同样的问题,那就是脚本执行得很好,但是在它完成之后,Heroku似乎认为应用程序崩溃了,并试图重新启动它,这导致脚本执行太多次。这
Heroku/nodejs
buildpack。我在他们身上都遇到了同样的问题,那就是脚本执行得很好,但是在它完成之后,Heroku似乎认为应用程序崩溃了,并试图重新启动它,这导致脚本执行太多次。这些日志似乎帮不了什么忙:
Jul 21 12:09:01 markov-lyrics app/worker.1 successfully posted
Jul 21 12:09:01 markov-lyrics heroku/worker.1 Process exited with status 0
Jul 21 12:09:01 markov-lyrics heroku/worker.1 State changed from starting to crashed
Jul 21 12:33:56 markov-lyrics heroku/worker.1 State changed from crashed to starting
Jul 21 12:33:59 markov-lyrics heroku/worker.1 Starting process with command `npm start`
这个输出中的第一行是一个console.log,我把它放在脚本的末尾,以检查是否一切正常,其余的由Heroku自己记录。我应该指出,脚本中没有启动web服务器(不需要,因为我只是进行一些API调用)。我曾尝试使用worker
free-dyno禁用web
dyno来运行它,反之亦然,但这似乎没有效果。脚本在本地运行时正常执行和终止
My package.json文件包括以下内容:
"scripts": {
"start": "node index.js"
},
我不知道是什么原因导致了这一点,并将感谢您的帮助 这实际上比我想象的要简单,但dynos的概念/类型让我困惑。用于执行和完成的脚本实际上不应该使用任何web或worker动态对象,而应该使用调度程序。调度程序将自行运行