У меня возникла проблема с развертыванием моего приложения Flask с Apache (mod_wsgi) и gevent на общем хостинге (Webfaction).Почему gevent в приложении Flask с Apache + mod_wsgi поднимает NotImplementedError?
Приложение отлично работает на сервере разработки, представленной Колба, но когда я попытаться развернуть его я получаю следующее сообщение об ошибке в файле журнала:
[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
мне нужно GEvent, потому что я использую python-requests' async module до сделать одновременные HTTP-запросы. Я попытался Google вокруг, но единственный совет, который я нашел, чтобы позвонить
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
Кто-нибудь имеет какие-либо советы, чтобы решить эту проблему?
который является значением WSGIDaemonProcess на вашем httpd.conf? – Masci
Возможно, из-за того, что gevent в моем опыте немного расстроен, если он получает доступ к обезьянному патчу для модуля потоков Python после того, как кто-то еще его импортировал и использовал его определенным образом. Не вызывает у меня никаких проблем с некоторыми вещами. Однако у меня не было возможности вникать в проблему. –
@Masci Я обновил вопрос по ссылке на мой httpd.conf и значение WSGIDaemonProcess – raben