2012-05-14 17 views
7

Ich bin neu bei rabbitmq, aber aus irgendeinem (unbekannten) Grund funktioniert das "Hallo Welt" -Programm nicht für mich. Die send.py und receive.py werden einfach aus der Tutorial-Seite kopiert und eingefügt:"Hello World" funktioniert nicht für rabbitmq

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

rabbitmq ist 2.6 "yum" auf einem RHEL 6. Python-Version installiert ist. Ich begann den Server

$ service rabbitmq-server start 

und er druckt "SUCCESS" verwenden.

Es gibt keine Fehler oder Warnmeldungen von send.py und receive.py ausgeführt wird:

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

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

Dann ist es nie prints "Hallo Welt!".

Was ist los damit?

+0

hasse, das Offensichtliche hier anzugeben, aber überprüfen Sie, dass der Sende- und Empfangscode mit demselben Server verbunden sind, dass die Warteschlangennamen und Einstellungen für die Warteschlange identisch sind. Wenn dies der Fall ist, können Sie versuchen, das Management-Plugin zu aktivieren und die Warteschlange über einen Browser anzuzeigen. Sie sehen, dass die Warteschlange erstellt wird und dass Nachrichten in der Warteschlange vorhanden sind, wenn sie ordnungsgemäß funktionieren. – robthewolf

+0

Dieser Code wurde auf einer VM ausgeführt. Ich bin nicht sicher, was passiert ist, da die VM für mich wie eine Blackbox aussieht. Aber ich habe auf einer anderen Maschine (real, nicht virtuell) getestet und es funktioniert! Weiß jemand, was der mögliche Grund sein könnte, dass der "Hallo Welt" -Code auf einer VM nicht funktioniert? – fanchyna

+0

Der Code und der MQ wurden alle auf der VM ausgeführt? – robthewolf

Antwort

12

Zuerst aktivieren Sie die Management-Konsole

sudo rabbitmq-plugins enable rabbitmq_management 

Dann öffnen Sie den Browser

http://localhost:55672 

Einloggen mit: Gast/Gast

In meinem Fall ist es der Speicher (unter 2 Giga) war und Die Meldung "Der Speicherplatzalarm für diesen Knoten ist ausgefallen. Er blockiert den eingehenden Netzwerkverkehr, bis der freie Speicherplatz den Grenzwert überschreitet."

Bearbeiten Sie die Datei /etc/rabbitmq/rabbitmq.config wie folgt:

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

Jetzt Kaninchen-Dienst neu starten:

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

Danke!sudo rabbitmqctl Status durch Laufen Ich habe dies: {disk_free_limit, 8335626240}, { disk_free, 3692666880}, und in der Tat ist es die Scheibe frei (RabbitMQ will 8,3 GB, aber ich hatte nur 3,6 GB). Wie ändere ich das freie Festplattenlimit? –

+0

aktualisiert die Antwort – danidacar

+0

+1 für die Bearbeitung, es hat sehr geholfen. Zuerst dachte ich, dass es JSON falsch geschrieben ist, aber wie sich herausstellte, ist es nicht, und die Kommas und der Punkt am Ende sind erforderlich. Vielen Dank. – npclaudiu

0

Sie haben Rabbit MQ Serever zu starten. In Windows Dateiname: RabbitMQ Service - start. Sie können diesen Code verwenden:

Verwandte Themen