0 Pregunta: No se puede transmitir el mensaje utilizando apio

pregunta creada en Wed, May 8, 2019 12:00 AM

Estoy tratando de usar la compilación de apio para el enrutamiento de difusión utilizando Difusión y utilizando rabbitmq como intermediario. He podido publicar y recibir mensajes con éxito utilizando el intercambio directo predeterminado, ahora estoy tratando de usar el intercambio de fanout que proporciona rabbitmq. Para esto, parece que el apio tiene un soporte incorporado que usa la clase Broadcast.

Mi apio conf se ve así:

app.conf.task_queues = (Broadcast('broadcast_tasks'),)

app.conf.task_routes = {
  'tasks.tasks.sync_channels': {
      'queue': 'broadcast_tasks',
      'exchange': 'broadcast_tasks'
  }
}

Y a continuación, se explica cómo he definido mi tarea en la aplicación /tareas /tareas.py

@app.task(name='sync_channels')
def sync_channels(data):
   logger.debug('Received here')
   pass

Así es como estoy enviando el mensaje a rabbitmq usando apio:

from app.tasks.tasks import sync_channels
sync_channels.delay([])

Cuando abro la interfaz de usuario de gestión de rabbitmq, puedo ver que se crea un intercambio de fanout con el nombre "broadcast_tasks", pero cuando intento enviar un mensaje a la tarea sync_channels, se crea automáticamente un intercambio predeterminado (directo) y un predeterminado la cola enlazada al intercambio predeterminado y todos mis mensajes futuros a la tarea sync_channels se insertan en el intercambio predeterminado. Parece que de alguna manera no puedo configurar la función de transmisión que proporciona el apio.

A continuación hay algunas capturas de pantalla que pueden ayudarte a entender el problema:

 Página de administración de Rabbitmq cuando el apio no está conectado Un nuevo intercambio de fanout llamado broadcast_tasks se crea cuando inicio el apio worker Una cola creada por apio que se enlaza con el intercambio broadcast_tasks [! [Un intercambio y una cola predeterminados creados cuando intento publicar algún mensaje en la tarea sync_channels

También necesito cierta comprensión sobre cómo funciona la transmisión de apio. También, en lugar de usar la función de difusión, intenté crear un intercambio de fanout, pero tuve problemas para vincular una cola a ese intercambio y luego publicar el mensaje. Cualquier ayuda o ejemplo sobre cómo hacerlo me será útil.

Gracias de antemano

    
0
0 Respuestas                              0                         
fuente colocada aquí