我在玩rabbitmq HTTP API时遇到了一个奇怪的场景。当我通过web界面查看队列时,它们的状态都显示为空闲。。
但是,当我使用HTTP API时,两个队列的返回都显示为“running”。im使用的代码如下:
import requests
import json
uri = 'http://localhost:15672/api/queues'
r = requests.get(uri, auth=("guest","guest"))
parsed = json.loads(r.content)
#print json.dumps(parsed, indent=4)
for i in parsed:
print '{:<20} : {}'.format(i.get('name'), i.get('state'))
输出:
test queue : running
test2 : running
有人能给我解释一下这种行为吗?
在这里检查管理控制台源代码:https://github.com/rabbitmq/rabbitmq-management/blob/master/priv/www/js/formatters.js#L479
如果字段
idle_since
不为空,控制台将显示“idle”。如果您的队列中有“流量”,那么您将有一个类似的json:
如果队列处于空闲状态(没有通信),则会有一个类似的json:
如您所见,字段
"idle_since"
不为空。在这两种情况下,队列始终处于
running
状态。总之,它只是一个web视图格式。
相关问题 更多 >
编程相关推荐