From 02a3034e95a06c9de00eb6add616b9138d9bcf24 Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Wed, 10 Jan 2018 13:36:41 -0800 Subject: Improve KafkaConsumer cleanup --- kafka/conn.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'kafka/conn.py') 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( -- cgit v1.2.1