ractogateway.kafka.producer

Kafka producer wrapper for high-throughput event publishing.

class ractogateway.kafka.producer.KafkaProducerClient(*, config=None, producer=None, key_serializer=None, value_serializer=None)[source]

Bases: object

Typed facade over kafka.KafkaProducer.

Parameters:
  • config (KafkaProducerConfig | None) – Producer connection and reliability settings. Defaults are applied when omitted.

  • producer (Any | None) – Pre-built Kafka producer object. Useful for dependency injection in tests or when your runtime provides the producer lifecycle externally.

  • key_serializer (Callable[[Any], bytes] | None) – Optional override for key serialization.

  • value_serializer (Callable[[Any], bytes] | None) – Optional override for value serialization.

publish(topic, value, *, key=None, headers=None, partition=None, timestamp_ms=None, wait=True, timeout_s=10.0)[source]

Publish one event and optionally wait for broker acknowledgement.

Return type:

KafkaProduceResult | None

publish_json(topic, payload, *, key=None, headers=None, partition=None, timestamp_ms=None, wait=True, timeout_s=10.0)[source]

Alias for publish() when value is a JSON payload.

Return type:

KafkaProduceResult | None

flush(*, timeout_s=None)[source]

Force all buffered events to be sent to brokers.

Return type:

None

close(*, timeout_s=5.0)[source]

Close underlying producer and release network resources.

Return type:

None