Předpokládám, že používáte redis-py.
Dokumentace odkazuje na listen
jako starší verze lib... Možná byste měli použít jinou metodu pro čtení zpráv. Například pomocí zpětného volání
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()
Upravit:
Je možné, že vašemu serveru redis dochází paměť, když publikujete 20 000 zpráv najednou. Zkuste zvětšit paměť redis v redis.conf
soubor
maxmemory 500mb # or greater if needed
Je to problém s pamětí, podívejte se na tuto otázku, kde najdete další informace o tom, jak s ním zacházet.