ЦЕЛЬ: создать несколько обработчиков Greenlet для получения данных из Redis (вытащить из Redis, а затем поставить в очередь).
РАБОТАЮЩАЯ ОКРУЖАЮЩАЯ СРЕДА: Ubuntu 12.04 PYTHON ВЕРСИЯ: 2.7 GEVENT ВЕРСИЯ: 1.0 RC2 REDIS ВЕРСИЯ: 2.6.5 REDIS-PY ВЕРСИЯ: 2.7.1
from gevent import monkey; monkey.patch_all()
import gevent
from gevent.pool import Group
from gevent.queue import JoinableQueue
import redis
tasks = JoinableQueue()
task_group = Group()
def crawler():
while True:
if not tasks.empty():
print tasks.get()
gevent.sleep()
task_group.spawn(crawler)
redis_client = redis.Redis()
data = redis_client.lpop('test') #<----------Block here
tasks.put(data)
Попробуйте извлечь данные из Redis, но он заблокирован ... и никаких исключений не возникает ... просто заморозьте и удалите метод создания, он сработает ... я не понимаю, что произошло, помогите, пожалуйста! Спасибо!