2010-09-22 2 views
3

Я хотел бы знать, какова моя альтернатива для следующей проблемы в окне, отличном от окна, которое будет работать с рубином на веб-приложении rails.Ruby альтернатива .NET-решению

Сценарий таков:

Пользователь активирует глубокий веб ползать сайта, который может занять около 15 минут. Я могу использовать ajax для обновления веб-страницы так часто с результатами, как они происходят. Я хочу отправить пользователю сообщение о результатах, когда работа будет завершена.

Проблема в том, что я хочу переместить работу по записи результатов в базу данных и отправить по электронной почте пользователя из процесса, чтобы пользователь мог закрыть браузер и завершить работу.

Если бы я делал это в Windows, я бы использовал msmq (очередь сообщений), чтобы отправить задание на службу Windows, которая завершит работу.

Как бы это сделать из рубинов на рельсах и есть ли какие-либо драгоценные камни, которые вы бы порекомендовали?

Я также могу перейти на JRuby, так что это может быть и соображение.

ответ

1

Message queueing - ответ для веб-приложения, независимо от языка/структуры реализации. Для Rails существует несколько вариантов очередности сообщений. Delayed Job и Resque - два, которые кажутся популярными в наши дни.

Кроме того, есть клиенты Рубиновые для STOMP и AMQP протоколов, что позволяет использовать многие из популярных очередей сообщений, такие как ApacheMQ и RabbitMQ.