from typing import Optional from aiokafka import AIOKafkaProducer from backend.config import KAFKA_URL, KAFKA_ENABLE_SSL from external.kafka.context import context _producer: Optional[AIOKafkaProducer] = None async def init_producer(): global _producer _producer = AIOKafkaProducer( bootstrap_servers=KAFKA_URL, security_protocol='SSL' if KAFKA_ENABLE_SSL else 'PLAINTEXT', ssl_context=context if KAFKA_ENABLE_SSL else None, ) async def get_producer() -> Optional[AIOKafkaProducer]: global _producer return _producer