ZIEL: Spawn einige Greenlet Arbeiter befassen sich mit der Daten pop aus redis (von redis Pop und dann in die Warteschlange gestellt)GEVENT Block redis' socket Anfrage
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)
versuchen, Daten aus redis Pop, aber es blocked..and keine Ausnahme ... nur einzufrieren und entfernen Spawn-Methode, es wird gearbeitet .. Ich fühle mich verwirrt, was passiert pened, plz Hilfe! Danke!
Warum wird dies abgelehnt? – schlamar
Ich weiß es nicht, aber ich stehe immer noch zu meiner Antwort ;-) –