Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
¿Puedo enviar con el valor websocket de una variable que se actualiza con un tema de Kafka?

Problema: tengo un atributo de objeto .status que se actualiza con un tema de Kafka, luego lo envío a través de websocket. Mi problema es que cada vez que pregunto desde el lado del Cliente (javascript), el Servidor (websockets + asyncio en Python) iniciará un consumidor de Kafka desde el principio.

Pregunta: ¿Es posible tener el bucle for de Kafka ( for msg in consumer: :) actualizando mi objeto custom_obj y enviar su valor .status solo cuando se lo solicite?

lo que he probado

Esto es lo que tengo hasta ahora en el lado del servidor:

 import asyncio import websockets from kafka import KafkaConsumer import Custom_obj async def test(websocket): consumer = KafkaConsumer( 'kafka-topic', bootstrap_servers=['kafka.server.com:1234'], auto_offset_reset='earliest', #Must start from the beginning to build the object correctly enable_auto_commit=True, ) custom_obj = Custom_obj() for msg in consumer: msg_dec = msg.value.decode() custom_obj.update(msg_dec) await websocket.send(custom_obj.status) async def main(): async with websockets.serve(test, "localhost", 1234): await asyncio.Future() # run forever if __name__ == "__main__": asyncio.run(main())

Código del lado del cliente (javascript en el componente Vue):

 created() { const ws = new WebSocket('ws://localhost:1234'); ws.onopen = function(e) { ws.send('Got here!') this.connectionStatus = 'Connected.' } ws.onerror = function(e) { ws.close() } ws.onclose = function(e) { this.connectionStatus = 'Disconnected.' } ws.onmessage = (e) => { console.log(1) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si desea realizar un seguimiento del progreso en el tema de Kafka, deberá usar un parámetro group_id en el constructor.

También es posible que desee consultar aiokafka para obtener soporte asincrónico adicional.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda