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

标签 python ubuntu heroku release procfile

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

现在我想在部署时自动启动这个 python 脚本(它应该全天候运行 24/7,直到它被新的部署停止)。

我阅读了有关 Dynos 的信息,但不知道如何使用它们。我已经使用 bot: python bot.py 添加了 Procfile 但这不会自动启动应用程序。 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

关于python - Heroku:如何在部署时自动启动 Python 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56861069/

相关文章:

python - 无法使用 Heroku 部署的应用程序登录到 Django 管理界面

python - 将圆弧的 3d 点拟合到圆(Python 中的回归)

python - 如何通过 lxml 扩展函数模拟 XPath 2.0 函数?

apache - 使用 VirtualHosts 和 ServerAlias 进行无法解释的重定向

ubuntu - 无法打开链接描述文件 libgcc_s.so.1 : Too many open files

node.js - RedisToGo 在 heroku 上是否可用 "locally"?

python - apply() 和 aggregate() 函数之间的 Pandas 区别

javascript - 如何在表单提交之前更改表单操作

linux - 命令面板中缺少 "Shell Command: Install"命令 - VS 代码 - ubuntu

javascript - 在 Heroku 上访问 Javascript 中的环境变量?