我在 Python 中使用 tweepy 创建了一个 Twitter 机器人,并尝试使用 Heroku 部署它。机器人只是在一定时间间隔后发推文。部署之后,Python 程序就是不运行,Heroku 日志显示以下错误:
at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=fathomless-island-25537.herokuapp.com request_id=0aa76d12-31e6-4940-85ec-a8476af4f82f fwd="182.64.210.145" dyno= connect= service= status=503 bytes=
在查看了必须部署 django 应用程序的一些类似问题之后,我尝试了:
heroku ps:scale web=1
并得到:
Scaling dynos... !
! Couldn't find that formation.
这是否意味着该程序未能建立网络进程,或者是否存在与 dynos 相关的其他内容?或者如果我必须在我的程序中包含一些与测功机相关的代码?我不知道这整个过程的哪一部分有问题。道歉,如果它太基本。
原文由 arjun gulyani 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个问题有点老了,但无论如何……
在缩放测功机之前,您需要有一个 Procfile,您可以在其中定义流程启动时应该发生的事情。在您的情况下,该过程应称为
web
。稍后我们将了解文件的内容。但首先:对我来说,最好使用 gunicorn 在 heroku 上运行 python 应用程序,所以首先你应该安装 gunicorn,运行
pip freeze > requirements.txt
并将它推送到 heroku(好吧,等到你有 Procfile ) .有关更多信息,请参阅: heroku 上带有 gunicorn 的 pythonProcfile 只需要一行
web: gunicorn <filename>:<main method name>
。在您的情况下,这将是(假设您的主要方法称为“应用程序”)web: gunicorn bot:app
。现在将所有这些推送到 heroku,然后你可以使用你使用的命令缩放你的
heroku ps:scale web=1