diff options
author | Dana Powers <dana.powers@gmail.com> | 2018-03-08 08:17:36 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-08 08:17:36 -0800 |
commit | b33a65116ef6936183f09ca56930ccae39378c5f (patch) | |
tree | 8127f25572c061574d733db7d1a1c21934a33a23 /kafka/conn.py | |
parent | 4c383daf8a9d7aaa5049a98d7d6da19c85793d2d (diff) | |
download | kafka-python-b33a65116ef6936183f09ca56930ccae39378c5f.tar.gz |
Fix BrokerConnection.connection_delay() to return milliseconds (#1414)
Diffstat (limited to 'kafka/conn.py')
-rw-r--r-- | kafka/conn.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kafka/conn.py b/kafka/conn.py index 0c8ae9a..d778c31 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -594,9 +594,16 @@ class BrokerConnection(object): return False def connection_delay(self): - time_waited_ms = time.time() - (self.last_attempt or 0) + """ + Return the number of milliseconds to wait, based on the connection + state, before attempting to send data. When disconnected, this respects + the reconnect backoff time. When connecting, returns 0 to allow + non-blocking connect to finish. When connected, returns a very large + number to handle slow/stalled connections. + """ + time_waited = time.time() - (self.last_attempt or 0) if self.state is ConnectionStates.DISCONNECTED: - return max(self._reconnect_backoff - time_waited_ms, 0) + return max(self._reconnect_backoff - time_waited, 0) * 1000 elif self.connecting(): return 0 else: |