mirror of https://github.com/celery/kombu.git
Redis: Consume now works with Eventlet
This commit is contained in:
parent
1ade2c8d2b
commit
65f1174d83
|
@ -1,6 +1,11 @@
|
||||||
import select
|
import select
|
||||||
import socket
|
import socket
|
||||||
|
|
||||||
|
try:
|
||||||
|
from eventlet.patcher import is_monkey_patched as is_eventlet
|
||||||
|
except ImportError:
|
||||||
|
is_eventlet = lambda module: False
|
||||||
|
|
||||||
POLL_READ = 0x001
|
POLL_READ = 0x001
|
||||||
POLL_ERR = 0x008 | 0x010 | 0x2000
|
POLL_ERR = 0x008 | 0x010 | 0x2000
|
||||||
|
|
||||||
|
@ -66,8 +71,12 @@ class _select(object):
|
||||||
events[fd] = events.get(fd, 0) | POLL_ERR
|
events[fd] = events.get(fd, 0) | POLL_ERR
|
||||||
return events.items()
|
return events.items()
|
||||||
|
|
||||||
|
if is_eventlet(select):
|
||||||
if hasattr(select, "epoll"):
|
# Eventlet ships with a monkey patched version of select.select
|
||||||
|
# we can use.
|
||||||
|
print("IS EVENTLET -> USING SELECT")
|
||||||
|
poll = _select
|
||||||
|
elif hasattr(select, "epoll"):
|
||||||
# Py2.6+ Linux
|
# Py2.6+ Linux
|
||||||
poll = select.epoll
|
poll = select.epoll
|
||||||
elif hasattr(select, "kqueue"):
|
elif hasattr(select, "kqueue"):
|
||||||
|
|
Loading…
Reference in New Issue