![]() |
cunfused why gevent block redis' socket request?
GOAL:spawn a few greenlet worker deal with the data pop from redis (pop from redis and then put into queue)
RUNNING ENV: ubuntu 12.04 PYTHON VER: 2.7 GEVENT VER: 1.0 RC2 REDIS VER:2.6.5 REDIS-PY VER: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) Try to pop data from redis, but it blocked..and no exception raised...just freeze and remove spawn method ,it will worked.. i feel confuse what happened, plz help! thk u! |
| All times are GMT. The time now is 01:24 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.