RabbitMQ和em-websocket

时间:2011-10-12 20:06:58

标签: ruby-on-rails jruby websocket rabbitmq

我正在努力弄清楚如何在rabbitmq和em-websocet之间进行沟通。

我想在队列的rails网页上放置来自ruby的消息,并让队列处理程序处理消息,即使浏览器已关闭。如果浏览器保持打开状态,我希望队列处理程序的结果将json传递回浏览器。

我确实找到this,但github页面说它已被删除。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

从我可以收集到的内容中,你有一个RabbitMQ队列,一种向该队列添加项目的方法,一种处理添加到该队列的项目,你基本上想要通知浏览器该队列的进度

有两种主要方法可以解决这个问题:

  1. 作为队列处理器的最终操作,通过消息传递总线将项目/消息发布到正在侦听该消息总线的em-websocket实例。

  2. 如果您可以向RabbitMQ添加功能,那么您可以在RabbitMQ中进行发布,作为后处理挂钩或类似的东西。 (注意,我不太了解RabbitMQ,说你绝对可以这样做。)

  3. 或者使用#1,您可以使用Pusher.com或类似服务来卸载WebSocket连接的处理。然后,从队列处理器中,您将对该服务的API进行发布调用。

    在使用Pusher的情况下,如果您发布到不再存在的通道/套接字(有任何连接),则该消息将被丢弃。

    希望这会有所帮助。如果您在设置基本的em-websocket服务器时需要任何帮助,请告诉我。