将Flask应用程序部署到Heroku卡在重启循环中

时间:2014-07-13 03:15:32

标签: python heroku flask

我有一个简单的Flask应用程序,我正在尝试部署到Heroku,但我面临一个应用程序错误,日志似乎表明该应用程序陷入某种重启循环。我认为我的Procfile或run.py有问题,但我无法弄清楚是什么。 这是Heroku日志:

2014-07-13T03:02:24.579923+00:00 app[web.1]:  * Running on http://127.0.0.1:5000/
2014-07-13T03:02:24.580216+00:00 app[web.1]:  * Restarting with reloader
2014-07-13T03:02:29.941158+00:00 app[web.1]: /app/app/mechanize_boilerplate.py:13: UserWarning: gzip transfer encoding is experimental!
2014-07-13T03:02:29.941168+00:00 app[web.1]:   br.set_handle_gzip(True)
2014-07-13T03:02:29.955461+00:00 app[web.1]:  * Running on http://127.0.0.1:5000/
2014-07-13T03:02:29.955738+00:00 app[web.1]:  * Restarting with reloader
2014-07-13T03:02:35.300236+00:00 app[web.1]:   br.set_handle_gzip(True)
2014-07-13T03:02:35.300231+00:00 app[web.1]: /app/app/mechanize_boilerplate.py:13: UserWarning: gzip transfer encoding is experimental!
2014-07-13T03:02:35.314821+00:00 app[web.1]:  * Running on http://127.0.0.1:5000/
2014-07-13T03:02:35.315107+00:00 app[web.1]:  * Restarting with reloader
...

这是我目前的项目结构:

/myapplication
    Procfile
    run.py
    requirements.txt
    /app
        __init__.py
        views.py
        mechanize_boilerplate.py
        /static
        /templates

这是我的Procfile

web: gunicorn run:app

这是run.py

#!flask/bin/python
from app import app
app.run(debug = True)

这是 init .py

from flask import Flask

app = Flask(__name__)
from app import views

从那里,views.py运行并且非常经典。 我已经看到了一些similar questions,并尝试使用我的Procfile,但无法让它工作,我设法做的就是崩溃应用程序。 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

问题是你的run.py在gunicorn导入时会运行你的应用程序。您只希望在执行它时发生这种情况。

#!flask/bin/python
from app import app
if __name__ == '__main__':
    app.run(debug = True)