summaryrefslogtreecommitdiff
path: root/kafka/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'kafka/client.py')
-rw-r--r--kafka/client.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/kafka/client.py b/kafka/client.py
index c0a3cdb..71ededa 100644
--- a/kafka/client.py
+++ b/kafka/client.py
@@ -1,3 +1,4 @@
+import copy
from collections import defaultdict
from functools import partial
from itertools import count
@@ -193,6 +194,16 @@ class KafkaClient(object):
for conn in self.conns.values():
conn.close()
+ def copy(self):
+ """
+ Create an inactive copy of the client object
+ A reinit() has to be done on the copy before it can be used again
+ """
+ c = copy.deepcopy(self)
+ for k, v in c.conns.items():
+ c.conns[k] = v.copy()
+ return c
+
def reinit(self):
for conn in self.conns.values():
conn.reinit()