Tôi giả sử bạn đang sử dụng redis-py.
Tài liệu đề cập đến listen
như phiên bản cũ hơn của lib ... Có lẽ bạn nên sử dụng một phương pháp khác để đọc tin nhắn. Ví dụ với một cuộc gọi lại
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()
Chỉnh sửa:
Có thể máy chủ redis của bạn sắp hết bộ nhớ khi bạn xuất bản 20000 thư cùng một lúc. Thử tăng bộ nhớ redis trong redis.conf
tệp
maxmemory 500mb # or greater if needed
Đó là một vấn đề về bộ nhớ, hãy kiểm tra câu hỏi này để biết thêm thông tin về cách xử lý nó.