Heroku App立即崩溃,出现R10和H10错误

时间:2014-02-25 00:54:41

标签: python heroku flask

我使用foreman run在本地运行正常,当我使用runserver.py执行python runserver.py文件时。当我把它推到Heroku时,它只是崩溃了。我甚至对我的procfile进行了更改:web: python runserver.py ${PORT}以便Heroku绑定到一个端口号,但无济于事......我已经在这个问题上待了将近3天了。首先是我的Procfile,现在是Heroku ......任何帮助都会很高兴得到赞赏。另外,我在这个项目中使用带有Flask框架的Python - 我遇到了Heroku前进,但它似乎只适用于RoR应用程序..

2014-02-24T02:24:50.146153+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
    2014-02-24T02:24:51.323561+00:00 heroku[web.1]: Process exited with status 137
    2014-02-24T02:24:51.333621+00:00 heroku[web.1]: State changed from starting to crashed
    2014-02-24T02:24:51.334368+00:00 heroku[web.1]: State changed from crashed to starting
    2014-02-24T02:24:55.793531+00:00 heroku[web.1]: Starting process with command `python runserver.py`
    2014-02-24T02:24:57.117683+00:00 app[web.1]:  * Running on http://127.0.0.1:5000/
    2014-02-24T02:24:57.117683+00:00 app[web.1]:  * Restarting with reloader
    2014-02-24T02:23:43.987388+00:00 heroku[api]: Deploy c55f7b6 by shaunktw@gmail.com
    2014-02-24T02:23:43.987478+00:00 heroku[api]: Release v8 created by shaunktw@gmail.com
    2014-02-24T02:25:56.204701+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
    2014-02-24T02:25:56.204929+00:00 heroku[web.1]: Stopping process with SIGKILL
    2014-02-24T02:25:57.495657+00:00 heroku[web.1]: Process exited with status 137

Procfile:

web: python runserver.py ${PORT}

runserver.py:

from intro_to_flask import app

app.run(debug=True)

3 个答案:

答案 0 :(得分:7)

我找到了这个问题的答案......基本上我必须绑定一个端口并指定我正在使用的主机:

在我的runserver.py文件中,我使用:

修改它
import os
from intro_to_flask import app

port = int(os.environ.get("PORT", 5000))
app.run(debug=True, host='0.0.0.0', port=port)

这可能不是最优雅的方式。但它确实有效。

答案 1 :(得分:4)

您需要指定$PORT而不是${PORT}

web: python runserver.py $PORT

答案 2 :(得分:0)

这个link给出了一个使用Heroku

启动Flask应用程序的简单示例