summaryrefslogtreecommitdiff
path: root/python/commands
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-12-17 18:36:47 +0000
committerTed Ross <tross@apache.org>2008-12-17 18:36:47 +0000
commit7c9263021219f5ee4e8bd4c542174daad5e07b5d (patch)
treecc34bc30af6e7c73465422fb38246ae626aef07d /python/commands
parent33f716ecb3bff319c5b76d0070291fbd42e5d5cd (diff)
downloadqpid-python-7c9263021219f5ee4e8bd4c542174daad5e07b5d.tar.gz
Restrict queries to the broker-resident agent only.
This optimization prevents long timeouts caused by non-responsive agents on the broker. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@727462 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/commands')
-rwxr-xr-xpython/commands/qpid-config30
1 files changed, 18 insertions, 12 deletions
diff --git a/python/commands/qpid-config b/python/commands/qpid-config
index beec67c826..1b7b5171ed 100755
--- a/python/commands/qpid-config
+++ b/python/commands/qpid-config
@@ -95,13 +95,17 @@ class BrokerManager:
self.url = brokerUrl
self.qmf = Session()
self.broker = self.qmf.addBroker(brokerUrl)
+ agents = self.qmf.getAgents()
+ for a in agents:
+ if a.getAgentBank() == 0:
+ self.brokerAgent = a
def Disconnect(self):
self.qmf.delBroker(self.broker)
def Overview (self):
- exchanges = self.qmf.getObjects(_class="exchange")
- queues = self.qmf.getObjects(_class="queue")
+ exchanges = self.qmf.getObjects(_class="exchange", _agent=self.brokerAgent)
+ queues = self.qmf.getObjects(_class="queue", _agent=self.brokerAgent)
print "Total Exchanges: %d" % len (exchanges)
etype = {}
for ex in exchanges:
@@ -122,7 +126,7 @@ class BrokerManager:
print " non-durable: %d" % (len (queues) - _durable)
def ExchangeList (self, filter):
- exchanges = self.qmf.getObjects(_class="exchange")
+ exchanges = self.qmf.getObjects(_class="exchange", _agent=self.brokerAgent)
caption1 = "Type "
caption2 = "Exchange Name"
maxNameLen = len(caption2)
@@ -145,9 +149,9 @@ class BrokerManager:
print
def ExchangeListRecurse (self, filter):
- exchanges = self.qmf.getObjects(_class="exchange")
- bindings = self.qmf.getObjects(_class="binding")
- queues = self.qmf.getObjects(_class="queue")
+ exchanges = self.qmf.getObjects(_class="exchange", _agent=self.brokerAgent)
+ bindings = self.qmf.getObjects(_class="binding", _agent=self.brokerAgent)
+ queues = self.qmf.getObjects(_class="queue", _agent=self.brokerAgent)
for ex in exchanges:
if self.match (ex.name, filter):
print "Exchange '%s' (%s)" % (ex.name, ex.type)
@@ -161,7 +165,7 @@ class BrokerManager:
def QueueList (self, filter):
- queues = self.qmf.getObjects(_class="queue")
+ queues = self.qmf.getObjects(_class="queue", _agent=self.brokerAgent)
caption = "Queue Name"
maxNameLen = len(caption)
@@ -191,9 +195,9 @@ class BrokerManager:
print
def QueueListRecurse (self, filter):
- exchanges = self.qmf.getObjects(_class="exchange")
- bindings = self.qmf.getObjects(_class="binding")
- queues = self.qmf.getObjects(_class="queue")
+ exchanges = self.qmf.getObjects(_class="exchange", _agent=self.brokerAgent)
+ bindings = self.qmf.getObjects(_class="binding", _agent=self.brokerAgent)
+ queues = self.qmf.getObjects(_class="queue", _agent=self.brokerAgent)
for queue in queues:
if self.match (queue.name, filter):
print "Queue '%s'" % queue.name
@@ -378,8 +382,10 @@ try:
bm.Unbind (cargs[1:])
else:
Usage ()
+except KeyboardInterrupt:
+ print
except Exception,e:
print "Failed:", e.args
sys.exit(1)
-
-bm.Disconnect()
+finally:
+ bm.Disconnect()