Heroku:如何在部署时自动启动Python应用程序?

时间:2019-07-02 23:13:51

标签: python ubuntu heroku release procfile

我有一个Heroku应用程序,当我将更改推送到GitHub时会自动部署。这是Discord Bot(用python编写)。

现在,我要在部署时自动启动此python脚本(它应该以24/7运行,直到被新的部署停止为止)。

我了解了Dynos,但不知道如何使用它们。我已经将Procfilebot: python bot.py添加了,但这不会自动启动应用程序。 Dyno仅显示在仪表板上的资源选项卡中。使用heroku ps -a myapp会以No dynos on ⬢ myapp进行响应。仪表板中的bot: python bot.py Dyno也无法通过该开关启动。

Screenshot: The switch can't be activated

因此,我尝试使用release: python bot.py来启动bot,但是在再次部署之后,进程不断堆积,并且bot运行了多次。

1 个答案:

答案 0 :(得分:0)

请勿为此使用release命令。

release commands run once as part of the deploy,然后完成。您的应用程序可能应该设置为web进程(如果应该响应HTTP请求):

web: python myapp.py

worker进程(如果不是):

worker: python myapp.py