我正在嘗試使用 Heroku 上的 bash 檔案啟動我的 Discord 機器人,因此該機器人會在出現錯誤時自動重啟。
我在 Heroku 上的作業人員是: chmod a x run.sh
run.sh 檔案:
#!/bin/sh
function main(){
node .
echo "The bot is crashed, restarting now..."
main
}
main
編輯:我將作業人員更改為bash run.sh并將 run.sh 檔案限制為:
#!/bin/bash
node index.js
echo "The bot is online."
現在我收到了這樣的回復: Error: Cannot find module '/app/index.js
uj5u.com熱心網友回復:
嘗試將標題更改為/bin/bash. function不是POSIX。function如果您不使用其他 bash 功能,也可以省略。
另外我注意到您正在從 main 呼叫 main ,這會導致重復呼叫。即使這是有意的,使用回圈仍然會更好。Bash 不支持尾呼叫優化。
uj5u.com熱心網友回復:
您不需要(也不應該)使用 Heroku 撰寫自己的啟動腳本。這就是Procfile它的用途。這樣的事情應該這樣做:
worker: node index.js
這定義了worker將運行的行程型別node index.js。然后,只要您worker運行測功機,您的腳本就應該運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/405845.html
標籤:
