RabbitMQ и em-websocket - PullRequest
       14

RabbitMQ и em-websocket

1 голос
/ 13 октября 2011

Я изо всех сил пытаюсь понять, как я могу общаться между rabbitmq и em-websocet.

Я хочу поместить сообщение от ruby ​​на веб-страницу rails в очередь, и обработчик очереди должен обработать сообщение, даже если браузер закрыт. Если браузер остается открытым, я хочу, чтобы результаты обработчика очереди передавали json обратно в браузер.

Я нашел этот , но на странице github написано, что он устарел. Кто-нибудь может указать мне правильное направление?

1 Ответ

1 голос
/ 13 октября 2011

Из того, что я могу собрать, у вас есть очередь RabbitMQ, способ добавлять элементы в эту очередь, что-то для обработки элементов, которые добавляются в эту очередь, и вы в основном хотите уведомить браузер о прогрессе в этой очереди .

Есть два основных способа, которыми вы могли бы подойти к этому:

  1. В качестве последнего действия обработчика очереди опубликуйте элемент / сообщение через шину обмена сообщениями в экземпляре em-websocket, который прослушивает эту шину сообщений.

  2. Если вы можете добавлять функции в RabbitMQ, то вы можете выполнить публикацию из RabbitMQ, как обработанный хук или что-то в этом роде. (обратите внимание, я не знаю достаточно о RabbitMQ, чтобы сказать, что вы определенно можете это сделать).

В качестве альтернативы # 1, вы можете использовать Pusher.com или аналогичный сервис для разгрузки обработки соединений WebSocket. Затем из обработчика очереди вы выполняете вызов публикации для API этих служб.

В случае использования Pusher, если вы публикуете канал / сокет, который больше не существует (имеет какие-либо соединения), то сообщение просто будет отброшено.

Надеюсь, это поможет. Дайте мне знать, если вам нужна помощь в настройке базового сервера em-websocket.

...