From 0266321932b880cee2ced6035df683fb28cccb5b Mon Sep 17 00:00:00 2001 From: Hannu Valtonen Date: Sat, 17 Jun 2017 09:44:06 +0300 Subject: [PATCH] producer: Set exit timeout to 0 for atexit handler to match __del__ Hit a problem with pytest hitting the atexit handler and waiting for close() timeout forever at teardown. This commit makes atexit close() equivalent to __del__ behavior, namely using timeout of 0 for close() completion. If you need a longer timeout you should be setting it explicitly. --- kafka/producer/kafka.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kafka/producer/kafka.py b/kafka/producer/kafka.py index 1f78c89cc..bd891c97a 100644 --- a/kafka/producer/kafka.py +++ b/kafka/producer/kafka.py @@ -371,7 +371,7 @@ def _cleanup_factory(self): _self = weakref.proxy(self) def wrapper(): try: - _self.close() + _self.close(timeout=0) except (ReferenceError, AttributeError): pass return wrapper