虽然有了消息反馈机制,但是如果rabbitmq自身挂掉的话,那么任务还是会丢失。所以需要将任务持久化存储起来。声明持久化存储:
队列持久化
1 channel.queue_declare(queue='task_queue', durable=True)
在发送任务的时候,用delivery_mode=2来标记消息为持久化存储:
1 channel.basic_publish(exchange='',2 routing_key='task_queue',3 body=message,4 properties=pika.BasicProperties(5 delivery_mode=2, # make message persistent6 )