簡體   English   中英

使用heroku bash連續運行python腳本

[英]Running python script with heroku bash continuously

我有一個腳本需要 2 個每次都不相同的兩個輸入。 所以我每次運行腳本時都必須手動輸入。 我確實想將此腳本部署到 Heroku。 但不幸的是,我無法在 heroku:wor​​ker 中手動提供任何類型的輸入。 我不能使用任何類型的環境變量和參數,因為這兩個輸入不是靜態的。 所以 heroku:wor​​ker 只是不斷收到“沒有輸入”錯誤。

所以我決定使用命令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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM