Complete the code to declare a durable queue in RabbitMQ.
channel.queue_declare(queue='task_queue', durable=[1])
Setting durable=True ensures the queue survives RabbitMQ restarts, preventing message loss.
Complete the code to publish a persistent message to the queue.
channel.basic_publish(exchange='', routing_key='task_queue', body=message, properties=pika.BasicProperties(delivery_mode=[1]))
Setting delivery_mode=2 marks the message as persistent, so it is saved to disk.
Fix the error in the consumer code to acknowledge messages manually.
channel.basic_consume(queue='task_queue', on_message_callback=callback, auto_ack=[1])
Setting auto_ack=False means the consumer must send an acknowledgment after processing, preventing message loss.
Fill both blanks to declare a durable queue and publish a persistent message.
channel.queue_declare(queue='task_queue', durable=[1]) channel.basic_publish(exchange='', routing_key='task_queue', body=message, properties=pika.BasicProperties(delivery_mode=[2]))
Durable queues and persistent messages together prevent message loss on RabbitMQ restarts.
Fill the blanks to consume messages with manual acknowledgment and durable queue.
channel.queue_declare(queue='task_queue', durable=[1]) channel.basic_consume(queue='task_queue', on_message_callback=callback, auto_ack=[2]) channel.start_consuming()
Declaring a durable queue and setting auto_ack=False ensures messages are not lost and are acknowledged manually.