diff options
-rw-r--r-- | kafka/coordinator/base.py | 3 | ||||
-rw-r--r-- | kafka/coordinator/consumer.py | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/kafka/coordinator/base.py b/kafka/coordinator/base.py index a4c25a3..168115a 100644 --- a/kafka/coordinator/base.py +++ b/kafka/coordinator/base.py @@ -89,7 +89,8 @@ class BaseCoordinator(object): #self.sensors = GroupCoordinatorMetrics(metrics, metric_group_prefix, metric_tags) def __del__(self): - self.heartbeat_task.disable() + if hasattr(self, 'heartbeat_task') and self.heartbeat_task: + self.heartbeat_task.disable() @abc.abstractmethod def protocol_type(self): diff --git a/kafka/coordinator/consumer.py b/kafka/coordinator/consumer.py index 50d2806..196bcc7 100644 --- a/kafka/coordinator/consumer.py +++ b/kafka/coordinator/consumer.py @@ -106,7 +106,8 @@ class ConsumerCoordinator(BaseCoordinator): def __del__(self): if hasattr(self, '_auto_commit_task') and self._auto_commit_task: self._auto_commit_task.disable() - self._cluster.remove_listener(WeakMethod(self._handle_metadata_update)) + if hasattr(self, '_cluster') and self._cluster: + self._cluster.remove_listener(WeakMethod(self._handle_metadata_update)) def protocol_type(self): return ConsumerProtocol.PROTOCOL_TYPE |