【问题标题】:Prevent Heroku from starting a web dyno阻止 Heroku 启动 web dyno
【发布时间】:2017-05-25 18:26:15
【问题描述】:

我想将 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 旋转网络测功机。那没有用。我还能做些什么来防止我的应用在部署时崩溃?计划任务是否要在单独的一次性 Dyno 中运行是否重要?

【问题讨论】:

    标签: heroku scheduled-tasks


    【解决方案1】:

    您的 Procfile 中不应包含“heroku ps:scale web=0”行。 这样做会告诉 heroku 创建一个名为“heroku”的进程类型,它会尝试在为其实例化的任何 dyno 实例上运行以下命令:“ps:scale web=0”。这可能会产生错误,而且无论如何,这不是您想要的。

    您应该将“heroku ps:scale web=0”作为 Heroku 工具带 CLI 命令运行(或从 GUI 的“资源”选项卡执行等效操作,就像您已经做过的那样)。

    【讨论】:

      【解决方案2】:

      我想我找到了解决方法:在 web 的 GUI 的“资源”选项卡中,有一个带有开/关滑块的测功机列表。我将 web dyno 滑块关闭,现在部署时没有崩溃。不过,我不清楚为什么 Procfile 行不够。

      【讨论】:

        猜你喜欢
        • 2019-01-05
        • 1970-01-01
        • 2014-10-26
        • 2020-12-31
        • 2015-06-02
        • 1970-01-01
        • 2012-05-26
        • 2021-11-19
        • 1970-01-01
        相关资源
        最近更新 更多