Presumo che tu stia usando redis-py.
La documentazione fa riferimento a listen
come versione precedente della lib... Forse dovresti usare un altro metodo per leggere i messaggi. Ad esempio con una richiamata
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()
Modifica:
È possibile che il tuo server redis stia esaurendo la memoria quando pubblichi 20000 messaggi contemporaneamente. Prova ad aumentare la memoria redis in redis.conf
file
maxmemory 500mb # or greater if needed
È un problema di memoria, dai un'occhiata a questa domanda per ulteriori informazioni su come gestirlo.