Python中RabbitMQ的使用(安裝和簡單教程)
阿新 • • 發佈:2019-01-09
RabbitMQ(Rabbit Message Queue)是流行的開源訊息佇列系統,用erlang語言開發。
RabbitMQ 它依賴於Erlang,需要先安裝Erlang。首先確定你的window電腦是32位還是64位,以下的安裝以window 64位電腦舉例。
然後安裝RabbitMQ
安裝完畢,編寫生產者與消費者程式碼
#生產者 producer import pika connection = pika.BlockingConnection( pika.ConnectionParameters('localhost'))#建立一個最基本的socket chanel = connection.channel()#宣告一個管道 chanel.queue_declare(queue='name')#給管道建立一個佇列,引數是管道佇列名。 chanel.basic_publish(exchange='', routing_key='name', body ='HELLO WORD!')#要傳送的訊息。 print( '發出一個訊息') connection.close()#關閉
#消費者 consumer import pika,time consumer = pika.BlockingConnection\ (pika.ConnectionParameters('localhost'))#建立socket連線 channel = consumer.channel()#建立管道 channel.queue_declare(queue='name') def backcall(ch,method,properties,body):#引數body是傳送過來的訊息。 print(ch,method,properties) time.sleep(15) print('[x] Received %r'%body) channel.basic_consume(backcall,#回撥函式。執行結束後立即執行另外一個函式返回給傳送端是否執行完畢。 queue='name', no_ack=True#不會告知服務端我是否收到訊息。一般註釋。 )#如果註釋掉,對方沒有收到訊息的話不會將訊息丟失,始終在佇列裡等待下次傳送。 print('waiting for message To exit press CTRL+C') channel.start_consuming()#啟動後進入死迴圈。一直等待訊息。
rabbitMQ 常用命令
啟動監控管理器:rabbitmq-plugins enable rabbitmq_management 關閉監控管理器:rabbitmq-plugins disable rabbitmq_management 啟動rabbitmq:rabbitmq-service start 關閉rabbitmq:rabbitmq-service stop 檢視所有的佇列:rabbitmqctl list_queues 清除所有的佇列:rabbitmqctl reset 關閉應用:rabbitmqctl stop_app 啟動應用:rabbitmqctl start_app 使用者和許可權設定(後面用處) 新增使用者:rabbitmqctl add_user username password 分配角色:rabbitmqctl set_user_tags username administrator 新增虛擬主機:rabbitmqctl add_vhost vhost_name 將新虛擬主機授權給新使用者:rabbitmqctl set_permissions -p vhost_name username '.*' '.*' '.*' 角色說明 none 最小許可權角色 management 管理員角色 policymaker 決策者 monitoring 監控 administrator 超級管理員