2013-03-24 2 views
1

В моем приложении Rails 3 пользователям предоставляется небольшая упаковка, которую они смогут удерживать только на короткое время, например, 20 минут. Владение пакета хранится в таблице с отношением пакетов has_many пользователей. По истечении 20 минут пакет должен передать право собственности другому пользователю. Это означает обновление соответствующих таблиц и повторное добавление другого события, основанного на времени, по мере повторения этого процесса.Rails 3 динамические задания на основе времени

Кроме того, время начала каждого интервала 20 минут является случайным, это процесс, инициированный пользователем.

Может ли это быть сделано с использованием любого из распространенных решений для таких событий, как cron, delayed_job и т. Д.? Я ожидаю, что это приведет к массивной очереди событий, если будет передано много пакетов.

Еще одно примечание - процесс передачи права собственности на 20 минут также может быть прерван. Это означает, что решение также должно учитывать, что эти динамические задания также могут быть отменены индивидуально.

ответ

2

Да.
Оба delayed_job и sidekiq имеют встроенный планировщик и resque имеет plugin для этого. С этими системами довольно прямолинейно.

+0

Спасибо :) Я дам Resque-планировщиком выстрел! – nightscent

1

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

https://github.com/javan/whenever

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