![](/img/trans.png)
[英]can't close socket connection on KeyboardInterrupt(Python)
[英]RabbitMQ and Python - connection can't close
我正在嘗試在Ubuntu 13計算機上將RabbitMQ與Python結合使用。
一切似乎都有效-即RabbitMQ已啟動並正在運行。 Python有庫(我正在使用Pika)。 代碼運行。
但是在我使用發布並嘗試關閉連接后-它不會關閉。
在嘗試py-amqplib之后,我得到了相同的結果。 似乎隊列已創建,但未發送消息,因此發布不會受到阻塞。 僅connection.close()塊。
我相信問題出在RabbitMQ,而不是python庫。
我的代碼:
import pika
JOBS_QUEUE_NAME = "my.queue"
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel = connection.channel()
channel.queue_declare(queue=JOBS_QUEUE_NAME)
channel.basic_publish(exchange='',
routing_key=JOBS_QUEUE_NAME,
body='Hello World!')
print "closing"
connection.close()
print "closed"
有任何想法嗎?
謝謝!
本周我遇到了同樣的問題[connection.close()永遠掛起]。
我發現運行RBMQ服務器的主機上的/(以及/ tmp和/ var)上的磁盤空間使用率為100%,因此顯然RBMQ服務器有問題。
當我嘗試重新啟動服務器(“ servicerabbitmq-server restart”)時,我得到了[FAIL],並且日志什么也沒告訴我...
我所做的是:
1.釋放磁盤空間
2.手動終止服務器(使用“ kill -HUP”),因為“服務停止”命令也失敗
3.啟動它(服務...啟動)
現在一切都好了。
順便說一句,服務器是運行Ubuntu 12.04的VM。
HTH,阿米爾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.