The queues that we've learned in the thread can send and receive messages directly for multiple threads in the same program, and only between the parent and child processes, or the child processes under the parent process, cannot implement the interaction of a process.
RabbitMQ realizes this function.
The Erlang language needs to be downloaded after rabbitmq, because Rabbitmq is edited by Erlang!
Producers:
ImportPika#Our husband as an example of a linkConnection=pika. Blockingconnection (Pika. Connectionparameters ("localhost"))#Open a pipelineChanner=Connection.channel ()#give pipeline a queue, the name of the queue is called HelloChanner.queue_declare (queue="Hello")#data formats that need to be transferred in the pipelineChanner.basic_publish (exchange="", routing_key="Hello", body="Hello world!")Print("sent the word!") Connection.close ()
Consumers:
ImportPika#These three steps are actually the same in two.Connection=pika. Blockingconnection (Pika. Connectionparameters ("localhost")) Channer=Connection.channel () channer.queue_declare ("Hello")defCallback (ch,menthod,properties,body):Print("recevied%s"%body) Channer.basic_consume (Callback,queue="Hello", no_ack=True)Print("Waiting for message") channer.start_consuming ()
Python Learning summary 3 Message Queuing RABBITMQ