Heroku-没有运行web进程

2024-03-28 20:53:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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.

这是否意味着该程序未能建立一个web进程,或者是否与dynos有关?或者如果我必须在我的程序中包含一些与dynos相关的代码?我不知道整个过程的哪一部分有问题。如果太简单的话,我会道歉。


Tags: 程序webheroku间隔部署错误时间机器人
3条回答

我在加载应用程序时遇到了问题,直到我修改了Procfile

从说

web: gunicorn app:app

web gunicorn app:app

web之后删除:使它对我起作用。

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

在缩放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>。在您的情况下,这将是(假设您的主要方法称为“app”)web: gunicorn bot:app

现在把所有这些都推到heroku上,然后您就可以使用使用heroku ps:scale web=1的命令来缩放dyno了

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

相关问题 更多 >