簡體   English   中英

Gercorn和Gevent在Heroku上崩潰了Flask應用程序

[英]Gunicorn and Gevent crashing Flask app on Heroku

我在Heroku上升級了我的應用程序以使用Flask 0.9和新的Gevent,此后一直無法使該應用程序在Heroku上運行。 使用python web_app.py中的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的情況下,僅按Flask文檔其他服務器部分中所述 ,僅使用Gevent服務器運行它,但又一次出現了瞬時崩潰。 我在想我是否已經弄亂了我的環境,或者我的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失敗,無法啟動我的應用程序但工頭啟動工作的問題。 如果有人想知道,我在此方法調用中將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

旁注,我做了一些愚蠢的操作,但是我不知道它是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM