Я создаю сервер websocket (python3.7, websockets ), который принимает сообщения Kafka (python-kafka) и затем отправляет сообщения клиенту websocket. Мой код ниже. Он принимает только первое соединение. Почему?
import asyncio
from kafka import KafkaConsumer
import websockets
kafka_consumer = KafkaConsumer(
'notifications',
bootstrap_servers=[server],
auto_offset_reset='earliest',
enable_auto_commit=True,
group_id='group2',
value_deserializer=lambda x: loads(x.decode('utf-8')))
@asyncio.coroutine
async def notification(websocket, path):
# register(websocket) sends user_event() to websocket
for msg in kafka_consumer:
await websocket.send(json.dumps(msg.value))
asyncio.get_event_loop().run_until_complete(
websockets.serve(notification, '0.0.0.0', 8081))
asyncio.get_event_loop().run_forever()