diff options
author | Dana Powers <dana.powers@gmail.com> | 2019-09-28 19:19:29 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-28 19:19:29 -0700 |
commit | 5d1d42429e07f4aa2959b488ea76efb6d0bafc79 (patch) | |
tree | 6a3b0701b6c80d11bec9d8277757dc589561fb6a /kafka/consumer/fetcher.py | |
parent | a9f513cf9978b8b9f26ad04bba1d33a9ae6d1b99 (diff) | |
download | kafka-python-5d1d42429e07f4aa2959b488ea76efb6d0bafc79.tar.gz |
Wrap consumer.poll() for KafkaConsumer iteration (#1902)
Diffstat (limited to 'kafka/consumer/fetcher.py')
-rw-r--r-- | kafka/consumer/fetcher.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/kafka/consumer/fetcher.py b/kafka/consumer/fetcher.py index 36e269f..17c818f 100644 --- a/kafka/consumer/fetcher.py +++ b/kafka/consumer/fetcher.py @@ -292,7 +292,7 @@ class Fetcher(six.Iterator): raise Errors.KafkaTimeoutError( "Failed to get offsets by timestamps in %s ms" % (timeout_ms,)) - def fetched_records(self, max_records=None): + def fetched_records(self, max_records=None, update_offsets=True): """Returns previously fetched records and updates consumed offsets. Arguments: @@ -330,10 +330,11 @@ class Fetcher(six.Iterator): else: records_remaining -= self._append(drained, self._next_partition_records, - records_remaining) + records_remaining, + update_offsets) return dict(drained), bool(self._completed_fetches) - def _append(self, drained, part, max_records): + def _append(self, drained, part, max_records, update_offsets): if not part: return 0 @@ -366,7 +367,8 @@ class Fetcher(six.Iterator): for record in part_records: drained[tp].append(record) - self._subscriptions.assignment[tp].position = next_offset + if update_offsets: + self._subscriptions.assignment[tp].position = next_offset return len(part_records) else: |