diff options
author | Ted Ross <tross@apache.org> | 2009-06-26 12:57:43 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2009-06-26 12:57:43 +0000 |
commit | 4072ab6f9e4d5eafb3ffa25cb8538dedde8360de (patch) | |
tree | c21af982e89753690e62751bb1cd74ec7d2cee7d /python/qpid/managementdata.py | |
parent | 139f378983f9da23af928decab67afc0eb62c324 (diff) | |
download | qpid-python-4072ab6f9e4d5eafb3ffa25cb8538dedde8360de.tar.gz |
Added --timeout options to cli tools.
Cli tools will not hang indefinitely if the broker is non-responsive.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@788681 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/managementdata.py')
-rw-r--r-- | python/qpid/managementdata.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/python/qpid/managementdata.py b/python/qpid/managementdata.py index 84eb9c3ff8..c0d32d46cf 100644 --- a/python/qpid/managementdata.py +++ b/python/qpid/managementdata.py @@ -31,6 +31,7 @@ import struct import os import platform import locale +from qpid.connection import Timeout from qpid.management import managementChannel, managementClient from threading import Lock from disp import Display @@ -206,11 +207,22 @@ class ManagementData: self.sessionId = "%s.%d" % (platform.uname()[1], os.getpid()) self.broker = Broker (host) - self.conn = Connection (connect (self.broker.host, self.broker.port), + sock = connect (self.broker.host, self.broker.port) + oldTimeout = sock.gettimeout() + sock.settimeout(10) + self.conn = Connection (sock, username=self.broker.username, password=self.broker.password) self.spec = self.conn.spec + def aborted(): + raise Timeout("Waiting for connection to be established with broker") + oldAborted = self.conn.aborted + self.conn.aborted = aborted + self.conn.start () + sock.settimeout(oldTimeout) + self.conn.aborted = oldAborted + self.mclient = managementClient (self.spec, self.ctrlHandler, self.configHandler, self.instHandler, self.methodReply, self.closeHandler) self.mclient.schemaListener (self.schemaHandler) |