Zakładam, że używasz redis-py.
Dokumentacja odnosi się do listen
jako starsza wersja lib... Może powinieneś użyć innej metody czytania wiadomości. Na przykład z oddzwonieniem
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()
Edycja:
Możliwe, że serwer redis zabraknie pamięci podczas publikowania 20000 wiadomości naraz. Spróbuj zwiększyć pamięć redis w redis.conf
plik
maxmemory 500mb # or greater if needed
Jest to problem z pamięcią, sprawdź to pytanie, aby uzyskać więcej informacji o tym, jak sobie z tym poradzić.