Использование Redis pub / sub в качестве очереди сообщений в Rails и Node.js для Async - PullRequest
2 голосов
/ 07 июля 2011

У меня есть приложение Rails, которое отправляет запросы в приложение Node.js.Приложение node.js обрабатывает запросы и возвращает их в приложение Rails.

Все это выполняется синхронно в приложении Rails (приложение блокируется до тех пор, пока Node.js не вернется).Однако я намерен сделать это неблокирующим.

Я хочу, чтобы приложение Rails отправляло запрос в приложение Node.js, и только когда приложение Node.js возвращается, приложение Rails показываетинформация для пользователя через пользовательский интерфейс (без блокировки запроса).

Это первый раз, когда мне нужно сделать что-то подобное, и я не могу знать, как.Я думал, что, если я поставлю запрос в очередь (возможно, redis pub sub), я смогу получить его с помощью Node.js, обработать и вернуться снова.Будет ли это работать?

Кроме того, как мне узнать, какой пользователь сделал запрос (я должен вернуть ему информацию, обработанную приложением node.js)?

Спасибо

1 Ответ

1 голос
/ 07 июля 2011

Чтобы узнать, какой пользователь сделал запрос, передайте идентификатор пользователя в качестве аргумента.Если у вас нет идентификатора пользователя, другой вариант сделать это через IP-адреса, но это быстро усложнится.

Но то, что вы описали, звучит так, как будто это будет работать.

Если вы впервыеМогу ли я предложить посмотреть этот скринкаст: http://railscasts.com/episodes/271-resque

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...