Предполагам, че използвате redis-py.
Документацията се отнася до listen
като по-стара версия на lib... Може би трябва да използвате друг метод за четене на съобщения. Например с обратно повикване
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()
Редактиране:
Възможно е вашият Redis сървър да свърши без памет, когато публикувате 20 000 съобщения наведнъж. Опитайте да увеличите паметта на redis в redis.conf
файл
maxmemory 500mb # or greater if needed
Това е проблем с паметта, вижте този въпрос за повече информация как да се справите с него.