25 lines
636 B
Python
Raw Normal View History

import asyncio
from aiokafka import AIOKafkaProducer
from .base import BaseSink
class KafkaSink(BaseSink):
def __init__(self, kafka, topic_name):
super().__init__()
self.kafka = kafka
self.topic_name = topic_name
self.producer = AIOKafkaProducer(
loop=asyncio.get_event_loop(),
bootstrap_servers=kafka['bootstrap_servers'],
max_request_size=kafka['max_request_size'],
)
self.starts.append(self.producer)
async def send(self, data: bytes):
await self.producer.send_and_wait(
self.topic_name,
data,
)