summaryrefslogtreecommitdiffstats
path: root/python/fatcat_tools/kafka.py
blob: 2a4451adb4eb2d63fcf189d974dd460b0f94bd17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from confluent_kafka import KafkaException, Producer


def kafka_fail_fast(err, msg):
    if err is not None:
        print("Kafka producer delivery error: {}".format(err))
        print("Bailing out...")
        # TODO: should it be sys.exit(-1)?
        raise KafkaException(err)


def simple_kafka_producer(kafka_hosts):

    kafka_config = {
        "bootstrap.servers": kafka_hosts,
        "message.max.bytes": 20000000,  # ~20 MBytes; broker-side max is ~50 MBytes
        "delivery.report.only.error": True,
        "default.topic.config": {
            "request.required.acks": -1,
        },
    }
    return Producer(kafka_config)