python 學習總結3 訊息佇列RabbitMQ

來源:互聯網
上載者:User

標籤:一個隊列   連結   call   訊息佇列   routing   print   block   nec   一個   

我們以前學過的隊列,線上程中針對同一程式下的多個線程直接 可以實現訊息的發送接收,對於進程來說只能在父進程與子進程中或者 父進程 下的子進程之間 進行,都無法實現連個進程的互動

RabbitMQ 實現了這一功能

需要先下載RabbitMQ 之後還需要下載erlang語言,因為RabbitMQ就是由erlang編輯而成的!

生產者:

import pika#我們先產生一個連結的執行個體connection=pika.BlockingConnection(pika.ConnectionParameters("localhost"))#開通一個管道channer=connection.channel()#給管道一個隊列,隊列的名字叫Hellochanner.queue_declare(queue="hello")#在管道中需要傳輸的資料格式channer.basic_publish(exchange="",routing_key="hello",body="hello world!")print(" sent the word!")connection.close()

消費者:

import pika#這三步驟 其實 兩個裡面都是一樣的connection=pika.BlockingConnection(pika.ConnectionParameters("localhost"))channer=connection.channel()channer.queue_declare("hello")def callback(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 學習總結3 訊息佇列RabbitMQ

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.