Python rabbitmq queue persistence
Sender:
Import pikaconnection = pika.BlockingConnection (pika.ConnectionParameters ('localhost')) channel = connection.channel () channel.queue_declare (queue='hello',durable=True) # # queue persistence, also exists after queue restart Does not guarantee the existence of data # channel.queue_delete (queue= "task_queue") # for i in range (100): channel.basic_publish (exchange='', routing_key='hello', body= "hello world") Properties=pika.BasicProperties (delivery_mode=2) # # data persistence) # print ("Sent 'hello worldview'") connection.close ()
Receiving end:
Import pikaimport timeconnection = pika.BlockingConnection (pika.ConnectionParameters (host='localhost')) channel = connection.channel () channel.queue_declare (queue='hello',durable=True) # channel.queue_bind (queue='hello',exchange='',routing_key='hello') def callback (ch, method, properties Body): print ("aaa") # time.sleep (8) print ("[x] Received% r"% body) ch.basic_ack (delivery_tag=method.delivery_tag) # returns the obtained data signal to rabbitmq Channel.basic_consume (callback, queue='hello', no_ack=False) print ('[*] Waiting for messages. To exit press CTRL+C') channel.start_consuming ()