summaryrefslogtreecommitdiff
path: root/kafka/conn.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2018-01-10 13:36:41 -0800
committerDana Powers <dana.powers@gmail.com>2018-01-10 13:38:12 -0800
commit02a3034e95a06c9de00eb6add616b9138d9bcf24 (patch)
treee25e986965144b1dc5b8e6c12d58794178d0275a /kafka/conn.py
parent794b695e7ceff25834616bb54e32160104040df4 (diff)
downloadkafka-python-reference_cleanup_close.tar.gz
Improve KafkaConsumer cleanupreference_cleanup_close
Diffstat (limited to 'kafka/conn.py')
-rw-r--r--kafka/conn.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/kafka/conn.py b/kafka/conn.py
index 23edf22..1e6770f 100644
--- a/kafka/conn.py
+++ b/kafka/conn.py
@@ -628,6 +628,14 @@ class BrokerConnection(object):
self._reconnect_backoff /= 1000.0
log.debug('%s: reconnect backoff %s after %s failures', self, self._reconnect_backoff, self._failures)
+ def _close_socket(self):
+ if self._sock:
+ self._sock.close()
+ self._sock = None
+
+ def __del__(self):
+ self._close_socket()
+
def close(self, error=None):
"""Close socket and fail all in-flight-requests.
@@ -641,9 +649,7 @@ class BrokerConnection(object):
self.state = ConnectionStates.DISCONNECTING
self.config['state_change_callback'](self)
self._update_reconnect_backoff()
- if self._sock:
- self._sock.close()
- self._sock = None
+ self._close_socket()
self.state = ConnectionStates.DISCONNECTED
self._sasl_auth_future = None
self._protocol = KafkaProtocol(