[英]Running python script with heroku bash continuously
我有一個腳本需要 2 個每次都不相同的兩個輸入。 所以我每次運行腳本時都必須手動輸入。 我確實想將此腳本部署到 Heroku。 但不幸的是,我無法在 heroku:worker 中手動提供任何類型的輸入。 我不能使用任何類型的環境變量和參數,因為這兩個輸入不是靜態的。 所以 heroku:worker 只是不斷收到“沒有輸入”錯誤。
所以我決定使用命令heroku run python3 main.py
運行腳本,但無論我做什么,我都無法在不結束進程的情況下離開終端。 我希望即使我離開終端,這個腳本也能連續運行。
那么如何在 Heroku 中連續運行 python 腳本並退出終端而不破壞進程呢?
正如亞歷山大所說,Heroku 腳本部署不應該像這樣頻繁運行。 值得花時間創建一個簡單的 Flask 服務器來接受來自任何地方的 HTTP 請求(這樣您就可以通過CURL
或 Postman 運行您的腳本)。 如果您不熟悉,Heroku 也有關於如何執行此操作的非常好的教程。
但是,如果這是您無法部署簡單 Web 服務器的硬性要求(盡管您確實應該這樣做),那么讓我們解決這個問題:
如果您使用的是 OSx 或任何 Unix 風格的機器,您可以使用一個簡單的process script &
作為后台進程process script &
即, heroku run my_script.py &
並再次將其調用到前台,只需鍵入fg
。
我對 Windows 不太熟悉,但我認為你可以做start /b <program>
但在你的情況下,你會更好地得到這里提供的答案如何在 Windows 的后台運行命令? (如果您在 Windows 上運行)
請注意,這是一個糟糕的解決方案,一旦您關閉用戶會話/關閉,您的腳本將停止運行。
創建按需接收請求的 Web 服務器的正確方法 - 這樣您就可以在需要運行腳本時傳遞所需的任何參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.