2011-05-25 3 views
2

Я не уверен, что лучшее решение/практика для Rails, поэтому я думал, что попрошу здесь.Rails Повторяющееся фоновое задание

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

Что люди используют в эти дни для этого? Задача cron и rake? Драгоценный камень демона? Resque или Beanstalkd?

Спасибо, что выслушали :)

+1

Спасибо за все замечательные предложения, я собираюсь опробовать Clockwork за рекомендацию kishie. – cotopaxi

ответ

4

Последний раз я использовал Clockwork gem с Delayed_job для этой проблемы, как у вас есть

+0

Заводной механизм выглядит как самое чистое решение, спасибо! – cotopaxi

2

У нас было аналогичное требование для приложения, которое мы разработали. Мы использовали

whenever для планирования работ cron и delayed_job для обработки фона.

Всякий раз, когда вы запускаете cron каждые 5 минут, что условно помещает запись в очередь замедленного задания.

Возможно, вы также использовали Resque. Посмотрите на сравнение между delayed_job и resque, чтобы узнать, что лучше всего подходит для вас.

0

Я создал The Fat Controller решить очень схожие проблемы. Он гибкий и написан на C, поэтому он также очень стабилен и может запускать что угодно; Ruby, PHP, Python и т. Д.

Посмотрите на веб-сайт - есть больше информации и вариантов использования, которые, возможно, применимы к вашему сценарию.

+0

Может ли этот рабочий стол работать и замедленные задания как? – Ross

Смежные вопросы