summaryrefslogtreecommitdiff
path: root/kafka/partitioner.py
diff options
context:
space:
mode:
Diffstat (limited to 'kafka/partitioner.py')
-rw-r--r--kafka/partitioner.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/kafka/partitioner.py b/kafka/partitioner.py
index 0f49b07..84db4d5 100644
--- a/kafka/partitioner.py
+++ b/kafka/partitioner.py
@@ -31,14 +31,18 @@ class RoundRobinPartitioner(Partitioner):
in a round robin fashion
"""
def __init__(self, partitions):
- self.partitions = cycle(partitions)
+ self._set_partitions(partitions)
+
+ def _set_partitions(self, partitions):
+ self.partitions = partitions
+ self.iterpart = cycle(partitions)
def partition(self, key, partitions):
# Refresh the partition list if necessary
if self.partitions != partitions:
- self.partitions = cycle(partitions)
+ self._set_partitions(partitions)
- return self.partitions.next()
+ return self.iterpart.next()
class HashedPartitioner(Partitioner):