共有ホスティング(Webfaction)でApache(mod_wsgi)とgeventを使用してFlaskアプリをデプロイする際に問題が発生しました。
アプリケーションはFlaskが提供する開発サーバーで正常に動作しますが、デプロイしようとすると、ログファイルに次のエラーが表示されます。
[Tue Mar 13 15:48:24 2012] [error] Traceback (most recent call last):
[Tue Mar 13 15:48:24 2012] [error] File "evdns.pxi", line 78, in gevent.core.__evdns_callback (gevent/core.c:6300)
[Tue Mar 13 15:48:24 2012] [error] File "/home/username/.virtualenvs/staging/lib/python2.7/site-packages/gevent/hub.py", line 297, in switch_args
[Tue Mar 13 15:48:24 2012] [error] File "/home/username/.virtualenvs/staging/lib/python2.7/site-packages/gevent/hub.py", line 290, in switch
[Tue Mar 13 15:48:24 2012] [error] File "/home/username/.virtualenvs/staging/lib/python2.7/site-packages/gevent/hub.py", line 135, in get_hub
[Tue Mar 13 15:48:24 2012] [error] NotImplementedError: gevent is only usable from a single thread
python-requestsの非同期モジュールを使用して同時HTTPリクエストを作成しているため、geventが必要です。私は周りをグーグルしようとしましたが、私が見つけた唯一のアドバイスは電話することです
from gevent import monkey
monkey.patch_all()
私が自分のコードですでに行っていること。
の値WSGIDaemonProcess
は次のとおりです。
WSGIDaemonProcess myapp processes=5 python-path=/home/myusername/webapps/myapp/lib/python2.7 threads=1
これが私のhttpd.confです:http://pastebin.com/eWygicJH
この問題を解決するためのアドバイスはありますか?