Ik neem aan dat je redis-py gebruikt.
De documentatie verwijst naar listen
als oudere versie van de lib... Misschien moet je een andere methode gebruiken voor het lezen van berichten. Bijvoorbeeld met terugbellen
p = r.pubsub()
def my_handler(message):
print 'MY HANDLER: ', message['data']
if item['type'] == 'message':
num += 1
a.parser(item['data'])
print num
p.subscribe('bdwaf', my_handler)
# read the subscribe confirmation message
p.get_message()
Bewerken:
Het is mogelijk dat uw redis-server onvoldoende geheugen heeft wanneer u 20000 berichten tegelijk publiceert. Probeer het redis-geheugen te vergroten in redis.conf
bestand
maxmemory 500mb # or greater if needed
Het is een geheugenprobleem, bekijk deze vraag voor meer informatie over hoe u ermee om kunt gaan.