我在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服务器运行,如Flask文档中的其他服务器部分所述,但仍然立即崩溃。我想要么我的环境出了问题,要么我的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>
请注意,我已经删除了我错误地留下的所有打印语句,但这并没有起到任何帮助作用。