我在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相关的代码?我不知道整个过程的哪一部分有问题。如果太简单的话,我会道歉。
我在加载应用程序时遇到了问题,直到我修改了Procfile
从说
到
在
web
之后删除:
使它对我起作用。这个问题有点老了,但无论如何。。。
在缩放dynos之前,需要有一个Procfile,在这里定义启动进程时应该发生的事情。在您的情况下,这个过程应该称为
web
。我们一会儿来看看文件的内容。但首先:在我看来,最好使用gunicorn在heroku上运行python应用程序,所以首先应该安装gunicorn,运行
pip freeze > requirements.txt
,并将其推送到heroku(好吧,等你有了Procfile之后再安装)。有关详细信息,请参见:python with gunicorn on herokuProcfile只需要一行
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
按预期工作。相关问题 更多 >
编程相关推荐