2011-10-12 87 views
1

我在努力研究如何在rabbitmq和em-websocet之间进行通信。RabbitMQ和em-websocket

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

我确实发现this,但github页面显示它已被解除压缩。任何人都可以将我指向正确的方向吗?

回答

1

从我可以收集的信息可以看出,你有一个RabbitMQ队列,一种将项目添加到该队列的方法,一些处理添加到该队列的项目的方法,以及基本上要通知浏览器的进度队列。

还有,你可以接近这个主要有两种方式:通过消息总线

  1. 由于队列处理器的最后行动,发布的项目/消息EM-的WebSocket的一个实例是在听上那条消息总线。

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

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

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

希望这会有所帮助。让我知道你是否想要建立一个基本的em-websocket服务器。

+0

谢谢你的回答。那只是我之后的那种指导 – dagda1