Heroku:如何在部署时自动启动 Python 应用程序?
Heroku: How to auto start Python app on deploy?
我有一个 Heroku 应用程序,它会在我将更改推送到 GitHub 时自动部署。这是一个 Discord 机器人(用 python 编写)。
现在我想在部署时自动启动此 python 脚本(它应该 运行 24/7,直到它被新部署停止)。
我阅读了有关 Dynos 的信息,但不知道如何使用它们。我已经添加了 Procfile
和 bot: 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
来启动机器人,但在另一次部署之后,进程堆积起来,机器人 运行 宁多次。
不要为此使用 release
命令。
release
commands run once as part of the deploy,然后他们就完成了。您的应用程序可能应该设置为 web
进程(如果它应该响应 HTTP 请求):
web: python myapp.py
或 worker
进程(如果不是):
worker: python myapp.py
我有一个 Heroku 应用程序,它会在我将更改推送到 GitHub 时自动部署。这是一个 Discord 机器人(用 python 编写)。
现在我想在部署时自动启动此 python 脚本(它应该 运行 24/7,直到它被新部署停止)。
我阅读了有关 Dynos 的信息,但不知道如何使用它们。我已经添加了 Procfile
和 bot: 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
来启动机器人,但在另一次部署之后,进程堆积起来,机器人 运行 宁多次。
不要为此使用 release
命令。
release
commands run once as part of the deploy,然后他们就完成了。您的应用程序可能应该设置为 web
进程(如果它应该响应 HTTP 请求):
web: python myapp.py
或 worker
进程(如果不是):
worker: python myapp.py