Je suppose que vous utilisez redis-py.
La documentation fait référence à listen
en tant qu'ancienne version de la lib... Peut-être devriez-vous utiliser une autre méthode pour lire les messages. Par exemple avec un rappel
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()
Modifier :
Il est possible que votre serveur Redis manque de mémoire lorsque vous publiez 20 000 messages à la fois. Essayez d'augmenter la mémoire redis dans redis.conf
fichier
maxmemory 500mb # or greater if needed
C'est un problème de mémoire, consultez cette question pour plus d'informations sur la façon de le gérer.