diff options
-rw-r--r-- | python/fatcat_tools/workers/changelog.py | 8 | ||||
-rw-r--r-- | python/fatcat_tools/workers/worker_common.py | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/python/fatcat_tools/workers/changelog.py b/python/fatcat_tools/workers/changelog.py index 39a84f18..6319d55a 100644 --- a/python/fatcat_tools/workers/changelog.py +++ b/python/fatcat_tools/workers/changelog.py @@ -33,7 +33,9 @@ class ChangelogWorker(FatcatWorker): else: self.offset = 1 - with topic.get_producer() as producer: + with topic.get_producer( + max_request_size=self.produce_max_request_size, + ) as producer: while True: latest = int(self.api.get_changelog(limit=1)[0].index) if latest > self.offset: @@ -85,7 +87,9 @@ class EntityUpdatesWorker(FatcatWorker): # using a sync producer to try and avoid racey loss of delivery (aka, # if consumer group updated but produce didn't stick) - with release_topic.get_sync_producer() as producer: + with release_topic.get_sync_producer( + max_request_size=self.produce_max_request_size, + ) as producer: for msg in consumer: cle = json.loads(msg.value.decode('utf-8')) #print(cle) diff --git a/python/fatcat_tools/workers/worker_common.py b/python/fatcat_tools/workers/worker_common.py index 57fb710c..cb4e5dab 100644 --- a/python/fatcat_tools/workers/worker_common.py +++ b/python/fatcat_tools/workers/worker_common.py @@ -52,3 +52,6 @@ class FatcatWorker: self.kafka = KafkaClient(hosts=kafka_hosts, broker_version="1.0.0") self.produce_topic = produce_topic self.consume_topic = consume_topic + + # Kafka producer batch size tuning; also limit on size of single document + self.produce_max_request_size = 10000000 # 10 MByte-ish |