2017-01-11 48 views
0

我想配置一個Heroku應用程序來每天運行一次計劃任務。我的源樹是這個樣子:防止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中運行,這有什麼關係?

回答

1

您的Procfile中不應該有「heroku ps:scale web = 0」這一行。 這樣做會告訴heroku創建一個名爲「heroku」的進程類型,該進程類型嘗試在爲其實例化的任何dyno實例上運行以下命令:「ps:scale web = 0」。這可能會產生錯誤,無論如何,這不是你想要的。

相反,您應該使用Heroku toolbelt CLI命令運行「heroku ps:scale web = 0」(或者從GUI的Resources選項卡執行相同的操作,就像您已經做過的那樣)。

+0

很有意義,謝謝! –

0

我想我找到了一個修復方法:在Web的GUI的「Resources」選項卡中,有一個帶有開/關滑塊的dynos列表。我將Web dyno滑塊切換爲關閉狀態,現在,當我部署時不會發生崩潰。不過,我還不清楚爲什麼Procfile系列不足。