diff --git a/eventlet/api.py b/eventlet/api.py index 4ded121..7e5f2ee 100644 --- a/eventlet/api.py +++ b/eventlet/api.py @@ -186,14 +186,7 @@ def exc_after(seconds, exc): return call_after(seconds, switch, getcurrent(), None, exc) -def get_default_hub(): - ## TODO some sort of plugin system? - try: - import eventlet.hubs.nginx - return eventlet.hubs.nginx - except ImportError: - pass - +def get_default_hub(): try: import eventlet.hubs.libevent return eventlet.hubs.libevent diff --git a/eventlet/nginx_mod_wsgi_support.py b/eventlet/nginx_mod_wsgi_support.py index 31e54de..b7b7b06 100644 --- a/eventlet/nginx_mod_wsgi_support.py +++ b/eventlet/nginx_mod_wsgi_support.py @@ -4,6 +4,8 @@ import sys from eventlet import api from eventlet import httpc +from eventlet.hubs import nginx + def real_application(env, start_response): #result = httpc.get('http://127.0.0.1:8081/') @@ -23,6 +25,9 @@ def wrap_application(master, env, start_response): def application(env, start_response): hub = api.get_hub() + if not isinstance(hub, nginx.Hub): + api.use_hub(nginx) + hub.poll_register = env['ngx.poll_register'] hub.poll_unregister = env['ngx.poll_unregister'] hub.sleep = env['ngx.sleep']