I had a problem deploying my Flask application with Apache (mod_wsgi) and gevent on shared hosting (Webfaction).
The application works fine on the development server provided by Flask, but when I try to deploy it, I get the following error in the log file:
[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
I need gevent because I use the asynchronous python request module to create concurrent HTTP requests. I tried using Google, but the only advice I found was to call
from gevent import monkey monkey.patch_all()
what I'm already doing in my code.
WSGIDaemonProcess value:
WSGIDaemonProcess myapp processes=5 python-path=/home/myusername/webapps/myapp/lib/python2.7 threads=1
Here is my httpd.conf: http://pastebin.com/eWygicJH
Anyone have any recommendations on how to solve this problem?
raben source share