diff options
-rw-r--r-- | kafka/producer/base.py | 6 | ||||
-rw-r--r-- | kafka/util.py | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/kafka/producer/base.py b/kafka/producer/base.py index 5b41bc9..695f195 100644 --- a/kafka/producer/base.py +++ b/kafka/producer/base.py @@ -127,6 +127,7 @@ class Producer(object): 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 @@ class Producer(object): 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 14d2b2c..78c3607 100644 --- a/kafka/util.py +++ b/kafka/util.py @@ -151,3 +151,6 @@ class ReentrantTimer(object): # noinspection PyAttributeOutsideInit self.timer = None self.fn = None + + def __del__(self): + self.stop() |