2012-05-14 75 views
7

我是rabbitmq的新手,但對於某些(未知)原因,「hello world」程序不適用於我。 的send.py和receive.py被簡單地複製和粘貼從 教程頁面:「Hello World」不適用於rabbitmq

http://www.rabbitmq.com/tutorials/tutorial-one-python.html

RabbitMQ的是安裝在使用「蔭」在RHEL 6 Python版本是2.6。 我開始使用

$ service rabbitmq-server start 

,並打印「成功」的服務器。

有運行send.py和 receive.py沒有錯誤或警告消息:

$ python send.py 
[x] Sent 'Hello World!' 

$ python receive.py 
[*] Waiting for messages. To exit press CTRL+C 

然後它永遠不會打印! 「Hello World」 的。

它有什麼問題?

+0

討厭在這裏說明這個問題,但是檢查發送和接收代碼是否連接到同一個服務器,隊列的名稱和設置是否相同。如果是這種情況,您可以嘗試啓用管理插件並通過瀏覽器查看隊列。你會看到隊列被創建,然後隊列中有消息,如果它正常工作。 – robthewolf

+0

此代碼在VM上運行。我不確定發生了什麼事,因爲虛擬機對我來說就像是一個黑匣子。但我已經在另一臺機器上測試過(真實的,不是虛擬的),它的工作原理!任何人都知道「hello world」代碼在虛擬機上不起作用的可能原因是什麼? – fanchyna

+0

代碼和MQ都在VM上運行? – robthewolf

回答

12

首先啓用管理控制檯

sudo rabbitmq-plugins enable rabbitmq_management 

然後打開瀏覽器

http://localhost:55672 

與登錄:客/客

在我的情況下,它是內存(在2千兆)和消息「此節點的磁盤空閒空間警報已關閉,它將阻止傳入的網絡流量,直到可用空間量超過限制。」

編輯文件/etc/rabbitmq/rabbitmq.config如下:

[ 
    {rabbit, [{disk_free_limit, {mem_relative, 0.1}}]} 
] 

現在重啓兔服務:

service rabbitmq-server stop 
service rabbitmq-server start 
+0

謝謝!通過運行sudo的rabbitmqctl狀態,我得到這個: {disk_free_limit,8335626240},{ disk_free,3692666880}, 而事實上它是免費的磁盤(RabbitMQ的要8.3 GB,但我只用了3.6 GB)。 如何更改磁盤空閒限制? –

+0

爲編輯更新了答案 – danidacar

+0

+1,它幫助了很多。起初,我認爲這是JSON拼寫錯誤,但事實證明,事實並非如此,最後需要逗號和點號。謝謝。 – npclaudiu

0

你必須開始Rabbit MQ Serever。在Windows中文件名:RabbitMQ Service - start。你可以使用下面的代碼: