在Rails中使用Redis pub / sub作为消息队列,在Async中使用Node.js

我有一个Rails应用程序发送请求到Node.js应用程序。 node.js应用程序处理请求并返回到Rails应用程序。

这一切都在Rails应用程序中同步完成(应用程序阻塞,直到Node.js返回)。 但是,我打算做的是使这个非阻塞。

我希望Rails应用程序向Node.js应用程序发送请求,并且只有在Node.js应用程序返回时,Rails应用程序才会通过UI向用户显示信息(不会阻止请求)。

这是我第一次需要做这样的事情,我不能知道如何。 我在想,如果我把请求放在一个队列(也许redis pub sub),我可以使用Node.js检索它,处理并再次返回。 这会工作吗?

另外,我怎么知道哪个用户提出了请求(我必须返回由node.js应用程序处理的信息给他)?

谢谢

要知道哪个用户提出了请求,请将用户ID作为参数传入。 如果您没有用户ID,则可以通过IP来执行此操作,但这会变得很复杂。

但是你所描述的听起来像是会起作用的。

如果这是你第一次,我可以build议看看这个截屏: http : //railscasts.com/episodes/271-resque