Отправка сообщений RabbitMQ через веб-сокеты

Нужны примеры кода для решения этой проблемы:

Хотелось бы написать некоторый код (Python или Javascript), который бы действовал как подписчик очереди RabbitMQ, чтобы при получении сообщения он передавал сообщение через веб-сокеты любому подключенному клиенту.

Я посмотрел на Autobahn и node.js (используя "AMQP" а также "WS"), но не могу заставить вещи работать так, как нужно. Вот код сервера в javascript с использованием node.js: -

var amqp = require('amqp');
var WebSocketServer = require('ws').Server

var connection = amqp.createConnection({host: 'localhost'});
var wss = new WebSocketServer({port:8000});

wss.on('connection',function(ws){

    ws.on('open', function() {
        console.log('connected');
        ws.send(Date.now().toString());
    });

    ws.on('message',function(message){
            console.log('Received: %s',message);
            ws.send(Date.now().toString());
    });
});

connection.on('ready', function(){
    connection.queue('MYQUEUE', {durable:true,autoDelete:false},function(queue){
            console.log(' [*] Waiting for messages. To exit press CTRL+C')
            queue.subscribe(function(msg){
                    console.log(" [x] Received from MYQUEUE %s",msg.data.toString('utf-8'));
                    payload = msg.data.toString('utf-8');
                    // HOW DOES THIS NOW GET SENT VIA WEBSOCKETS ??
            });
    });
});

Используя этот код, я могу успешно подписаться на очередь в Rabbit и получать любые сообщения, которые отправляются в очередь. Аналогичным образом я могу подключить клиент веб-сокета (например, браузер) к серверу и отправлять / получать сообщения. НО ... как я могу отправить полезную нагрузку сообщения очереди Кролика в виде сообщения веб-сокета в указанной точке («КАК ЭТО СЕЙЧАС ПОЛУЧАЕТСЯ В ЧЕРЕЗ ВЕБСАКЕТЫ»)? Я думаю, что это связано с неправильным обратным вызовом, или они должны быть как-то вложены ...?

В качестве альтернативы, если это можно сделать проще в Python (через Autobahn и Pika), это было бы здорово.

Спасибо !

Ответы на вопрос(1)

Ваш ответ на вопрос