目標:產卵數greenlet工人處理從Redis的數據彈出(從Redis的流行,然後放入隊列)GEVENT塊Redis的插座要求
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)
嘗試從彈出Redis的數據,但它blocked..and也不例外提出...只是凍結 和刪除產卵法,它會工作.. 我覺得混淆什麼hap pened,plz幫助! thk u!
這是爲什麼downvoted? – schlamar
我不知道,但我仍然支持我的答案;-) –