Heroku - 没有正在运行的Web进程

时间:2016-08-31 16:23:52

标签: python python-3.x heroku tweepy

我在Python中使用tweepy创建了一个twitter机器人,并尝试使用Heroku进行部署。 Bot只是在一定间隔后发推文。部署之后,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相关的其他内容?或者,如果我必须在我的程序中包含一些与dynos相关的代码?我不知道整个过程的哪个部分有问题。抱歉,如果它太基本了。

3 个答案:

答案 0 :(得分:3)

这个问题有点老了,但无论如何......

在缩放dynos之前,您需要有一个Procfile,您可以在其中定义启动过程时应该发生的事情。在您的情况下,应该将该过程称为web。我们马上就会看到文件的内容。

但首先:对我而言,最好使用gunicorn在heroku上运行python应用程序,所以首先应该安装gunicorn,运行pip freeze > requirements.txt并将其推送到heroku(好吧,等到你拥有Procfile )。有关详情,请参阅:python with gunicorn on heroku

Procfile只需要一行web: gunicorn <filename>:<main method name>。在您的情况下,这将是(假设您的主要方法被称为&#39; app&#39;)web: gunicorn bot:app

现在将所有内容推送到heroku,然后您可以使用您使用的命令缩放您的dyno heroku ps:scale web=1

答案 1 :(得分:0)

当您尝试heroku ps:scale web=1时,所有其他事情都徒劳无功时,请检查您的Procfile是否具有正确的名称和内容。我有一个问题。固定名称和内容并将更新推送到heroku之后,该应用程序将自行启动。之后,heroku open将按预期工作。

答案 2 :(得分:0)

在修改我的Procfile之前,我一直无法加载我的应用

从说起

web: gunicorn app:app

web gunicorn app:app

:之后删除web使其对我有用。