我想配置一个Heroku应用程序,每天运行一次计划任务 . 我的源代码树看起来像这样:
bin/myScript
Procfile
package.json
部署应用程序时,我看到以下错误:
2017-01-11T04:31:36.660973+00:00 app[web.1]: npm ERR! missing script: start
我相信这是因为Heroku试图改变网络动态 . 我没有网络动态,我也不想要 . 所以我用这一行创建了一个 Procfile
:
heroku ps:scale web=0
防止heroku旋转web dyno . 那没用 . 我还能做些什么来防止我的应用在部署时崩溃?如果计划的任务将在一个单独的一次性Dyno中运行,这是否重要?
2 回答
您的Procfile中不应该有“heroku ps:scale web = 0”这一行 . 这样做会告诉heroku创建一个名为“heroku”的进程类型,它尝试在为其实例化的任何dyno实例上运行以下命令:“ps:scale web = 0” . 这可能会产生错误,无论如何,这不是你想要的 .
相反,您应该运行“heroku ps:scale web = 0”作为Heroku toolbelt CLI命令(或者从GUI的“资源”选项卡执行等效操作,就像您已经做过的那样) .
我想我找到了一个修复:在网页GUI的“资源”选项卡中,有一个带有开/关滑块的dynos列表 . 我将web dyno滑块关闭,现在当我部署时没有崩溃 . 尽管如此,我还不清楚为什么Procfile系列不足 .