async def bench_simple(self): payload = bytearray(b"m" * self._size) topic = self._topic partition = self._partition loop = asyncio.get_event_loop() producer = AIOKafkaProducer(loop=loop, **self._producer_kwargs) await producer.start() # We start from after producer connect reporter_task = loop.create_task(self._stats_report(loop.time())) transaction_size = self.transaction_size try: if not self._is_transactional: for i in range(self._num): # payload[i % self._size] = random.randint(0, 255) await producer.send(topic, payload, partition=partition) self._stats[-1]['count'] += 1 else: for i in range(self._num // transaction_size): # payload[i % self._size] = random.randint(0, 255) async with producer.transaction(): for _ in range(transaction_size): await producer.send(topic, payload, partition=partition) self._stats[-1]['count'] += 1 except asyncio.CancelledError: pass finally: await producer.stop() reporter_task.cancel() await reporter_task
async def bench_simple(self): payload = bytearray(b"m" * self._size) topic = self._topic partition = self._partition loop = asyncio.get_event_loop() producer = AIOKafkaProducer(loop=loop, **self._producer_kwargs) await producer.start() # We start from after producer connect reporter_task = loop.create_task(self._stats_report(loop.time())) transaction_size = self.transaction_size try: if not self._is_transactional: for i in range(self._num): # payload[i % self._size] = random.randint(0, 255) await producer.send(topic, payload, partition=partition) self._stats[-1]['count'] += 1 else: for i in range(self._num // transaction_size): # payload[i % self._size] = random.randint(0, 255) async with producer.transaction(): for _ in range(transaction_size): await producer.send( topic, payload, partition=partition) self._stats[-1]['count'] += 1 except asyncio.CancelledError: pass finally: await producer.stop() reporter_task.cancel() await reporter_task
async def send_one(): producer = AIOKafkaProducer(bootstrap_servers='localhost:9092', transactional_id="transactional_test") # Get cluster layout and topic/partition allocation await producer.start() try: async with producer.transaction(): # Produce messages res = await producer.send_and_wait("test-topic", b"Super transactional message") input() raise ValueError() finally: await producer.stop() print(res)
async def send_one(): producer = AIOKafkaProducer( bootstrap_servers='localhost:9092', transactional_id="transactional_test", loop=loop) # Get cluster layout and topic/partition allocation await producer.start() try: async with producer.transaction(): # Produce messages res = await producer.send_and_wait( "test-topic", b"Super transactional message") input() raise ValueError() finally: await producer.stop() print(res)