Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku Node.js应用程序不断崩溃并重新启动_Node.js_Heroku - Fatal编程技术网

Heroku Node.js应用程序不断崩溃并重新启动

Heroku Node.js应用程序不断崩溃并重新启动,node.js,heroku,Node.js,Heroku,更新:我用一个简单的console.log()作为Node.js脚本制作了一个最小的可复制示例,但我仍然存在同样的问题(应用程序在执行后“崩溃”,在Heroku看似随机的间隔后重新启动),所以我猜一定是我对Heroku的工作原理有误解 我正在Heroku上运行几个不同的Node.js应用程序,使用标准的Heroku/nodejsbuildpack。我在他们身上都遇到了同样的问题,那就是脚本执行得很好,但是在它完成之后,Heroku似乎认为应用程序崩溃了,并试图重新启动它,这导致脚本执行太多次。这

更新:我用一个简单的console.log()作为Node.js脚本制作了一个最小的可复制示例,但我仍然存在同样的问题(应用程序在执行后“崩溃”,在Heroku看似随机的间隔后重新启动),所以我猜一定是我对Heroku的工作原理有误解

我正在Heroku上运行几个不同的Node.js应用程序,使用标准的
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动态对象,而应该使用调度程序。调度程序将自行运行