diff options
Diffstat (limited to 'kafka/partitioner.py')
-rw-r--r-- | kafka/partitioner.py | 10 |
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): |