Ich nehme an, Sie verwenden redis-py.
Die Dokumentation bezieht sich auf listen
als ältere Version der Bibliothek ... Vielleicht sollten Sie eine andere Methode zum Lesen von Nachrichten verwenden. Zum Beispiel mit einem Rückruf
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()
Bearbeiten:
Es ist möglich, dass Ihrem Redis-Server der Speicher ausgeht, wenn Sie 20000 Nachrichten auf einmal veröffentlichen. Versuchen Sie, den Redis-Speicher in redis.conf
zu erhöhen Datei
maxmemory 500mb # or greater if needed
Es handelt sich um ein Speicherproblem. Weitere Informationen zur Handhabung finden Sie in dieser Frage.