diff --git a/kafka/producer/base.py b/kafka/producer/base.py index 5b41bc9d2..695f19533 100644 --- a/kafka/producer/base.py +++ b/kafka/producer/base.py @@ -127,6 +127,7 @@ def __init__(self, client, async=False, self.async = async self.req_acks = req_acks self.ack_timeout = ack_timeout + self.stopped = False if codec is None: codec = CODEC_NONE @@ -212,3 +213,8 @@ def stop(self, timeout=1): if self.proc.is_alive(): self.proc.terminate() + self.stopped = True + + def __del__(self): + if not self.stopped: + self.stop() diff --git a/kafka/util.py b/kafka/util.py index 14d2b2cc9..78c36074d 100644 --- a/kafka/util.py +++ b/kafka/util.py @@ -151,3 +151,6 @@ def stop(self): # noinspection PyAttributeOutsideInit self.timer = None self.fn = None + + def __del__(self): + self.stop()