gpt4 book ai didi

python - Gunicorn 和 Gevent 使 Heroku 上的 Flask 应用程序崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:54 25 4
gpt4 key购买 nike

我在 Heroku 上升级了我的应用程序以使用 Flask 0.9 和新的 Gevent,此后一直无法让该应用程序在 Heroku 上运行。它在 Procfile 中使用 python web_app.py 运行得很好,但使用:

web: gunicorn web_app:app -w 3 -b 0.0.0.0:$PORT -k gevent --max-requests 250

应用程序的入口点是一个名为 web_app.py 的文件。

我将其简化为基本的“hello world”,但仍然是崩溃。我也尝试过不使用 Gunicorn,只使用 Gevent 服务器运行它,如 other servers section of the Flask documentation 中所述。但同样,瞬间崩溃。我在想,要么我搞砸了我的环境,要么我的 requirements.txt 很奇怪。

这是我的 requirements.txt 文件:

jinja2
werkzeug
flask
wtforms
gevent
gunicorn
psycopg2
sqlalchemy
itsdangerous
flask-seasurf
flask-login
flask-debugtoolbar
flask-sqlalchemy
flask-script
flask-uploads
flask-failsafe
requests
alembic
braintree
cloudinary

任何帮助将不胜感激,因为它无法使用 Flask 中的默认服务器处理任何有意义的流量。我需要提供更多信息吗?

编辑:

这里是错误

app/web.1:  2012-12-08 21:18:22 [7] [INFO] Booting worker with pid: 7
app/web.1: 2012-12-08 21:18:22 [7] [INFO] Worker exiting (pid: 7)
app/web.1: 2012-12-08 21:18:22 [6] [INFO] Worker exiting (pid: 6)
app/web.1: 2012-12-08 21:18:22 [5] [INFO] Worker exiting (pid: 5)
app/web.1: Traceback (most recent call last):
app/web.1: File "/app/.heroku/venv/bin/gunicorn", line 12, in <module>
app/web.1: load_entry_point('gunicorn==0.14.6', 'console_scripts', 'gunicorn')()
app/web.1: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 32, in run
app/web.1: WSGIApplication("%prog [OPTIONS] APP_MODULE").run()
app/web.1: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/app/base.py", line 124, in run
app/web.1: Arbiter(self).run()
app/web.1: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/arbiter.py", line 185, in run
app/web.1: self.halt(reason=inst.reason, exit_status=inst.exit_status)
app/web.1: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/arbiter.py", line 280, in halt
app/web.1: self.stop()
app/web.1: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/arbiter.py", line 328, in stop
app/web.1: self.reap_workers()
app/web.1: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/arbiter.py", line 419, in reap_workers
app/web.1: raise HaltServer(reason, self.WORKER_BOOT_ERROR)
app/web.1: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>

请注意,我已经删除了我错误地留在其中的所有打印语句,这根本没有帮助。

最佳答案

我刚刚使用了 Heroku-fails-to-start-my-app-but-foreman-start-works 的解决方案问题。如果有人想知道,我在这个方法调用中包含了 app create:

@failsafe
def create_app():
from routes import app
return app

并按照该答案中的指示构建我的个人资料:

web: gunicorn legalkin_app:create_app\(\) -w 3 -b 0.0.0.0:$PORT -k gevent --max-requests 250

旁注,我做了一些愚蠢的事情不得不这样做,但我不知道它是什么。

关于python - Gunicorn 和 Gevent 使 Heroku 上的 Flask 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13779535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com