diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2010-04-01 20:39:31 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2010-04-01 20:39:31 +0000 |
| commit | e63d139b7f275d2271d4a5f15b9894836ab1e371 (patch) | |
| tree | 2460eeef7686fafb1114bb9728b8edddfdd62484 /python/qpid/messaging | |
| parent | 0f150114eceda34771972fa4fb194b6eef6b1afa (diff) | |
| download | qpid-python-e63d139b7f275d2271d4a5f15b9894836ab1e371.tar.gz | |
updated reconnect option names to match C++ API
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@930084 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/messaging')
| -rw-r--r-- | python/qpid/messaging/driver.py | 6 | ||||
| -rw-r--r-- | python/qpid/messaging/endpoints.py | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/python/qpid/messaging/driver.py b/python/qpid/messaging/driver.py index cd86542860..e9058d8154 100644 --- a/python/qpid/messaging/driver.py +++ b/python/qpid/messaging/driver.py @@ -323,6 +323,7 @@ class Driver: self._selector = Selector.default() self._attempts = 0 + self._delay = self.connection.reconnect_interval_min self._hosts = [(self.connection.host, self.connection.port)] + \ self.connection.backups self._host = 0 @@ -390,7 +391,9 @@ class Driver: if self._host > 0: delay = 0 else: - delay = self.connection.reconnect_delay + delay = self._delay + self._delay = min(2*self._delay, + self.connection.reconnect_interval_max) self._timeout = time.time() + delay log.warn("recoverable error[attempt %s]: %s" % (self._attempts, e)) if delay > 0: @@ -951,6 +954,7 @@ class Engine: # XXX: we're ignoring acks that get lost when disconnected, # could we deal this via some message-id based purge? if m._transfer_id is None: + ssn.acked.remove(m) continue ids.add(m._transfer_id) disp = m._disposition or DEFAULT_DISPOSITION diff --git a/python/qpid/messaging/endpoints.py b/python/qpid/messaging/endpoints.py index c3f76e4adc..fd5dc35a42 100644 --- a/python/qpid/messaging/endpoints.py +++ b/python/qpid/messaging/endpoints.py @@ -84,7 +84,15 @@ class Connection: self.mechanisms = options.get("mechanisms") self.heartbeat = options.get("heartbeat") self.reconnect = options.get("reconnect", False) - self.reconnect_delay = options.get("reconnect_delay", 3) + self.reconnect_timeout = options.get("reconnect_timeout") + if "reconnect_interval_min" in options: + self.reconnect_interval_min = options["reconnect_interval_min"] + else: + self.reconnect_interval_min = options.get("reconnect_interval", 1) + if "reconnect_interval_max" in options: + self.reconnect_interval_max = options["reconnect_interval_max"] + else: + self.reconnect_interval_max = options.get("reconnect_interval", 2*60) self.reconnect_limit = options.get("reconnect_limit") self.transport = options.get("transport", "plain") self.backups = options.get("backups", []) |
