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

arj*_*ani 11 python heroku tweepy python-3.x

我在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=
Run Code Online (Sandbox Code Playgroud)

在查看了必须部署django应用程序的类似问题之后,我尝试了:

heroku ps:scale web=1
Run Code Online (Sandbox Code Playgroud)

得到了:

Scaling dynos... !
 !  Couldn't find that formation.
Run Code Online (Sandbox Code Playgroud)

这是否意味着该程序未能建立网络流程或是否存在与dynos相关的其他内容?或者,如果我必须在我的程序中包含一些与dynos相关的代码?我不知道整个过程的哪个部分有问题.道歉,如果它太基础了.

小智 8

在我修改了 Procfile 之前,我无法加载我的应用程序

从说

web: gunicorn app:app
Run Code Online (Sandbox Code Playgroud)

web gunicorn app:app
Run Code Online (Sandbox Code Playgroud)

删除:afterweb使它对我有用。


Ste*_*fan 5

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

在缩放测功机之前,您需要具有一个Procfile,您可以在其中定义启动该过程时应该发生的情况。在您的情况下,应调用该过程web。稍后我们将介绍文件的内容。

但首先:对我而言,似乎最好使用gunicorn在heroku上运行python应用程序,因此首先应该安装gunicorn,运行pip freeze > requirements.txt并将其推送到heroku(好吧,等到有了Procfile)。有关更多信息,请参见:heroku上带有gunicorn的python

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

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