Динамическое планирование заданий в Rails

Я просмотрел несколько библиотек планирования для Rails, и мне нужна помощь в выборе одной, учитывая, что ни одна из них не соответствует моим требованиям. . Это довольно распространенный вариант использования:

У нас есть несколько отчетов, и мы хотели бы, чтобы пользователи настраивали, когда они хотели бы запланировать, когда и как часто конкретный отчет будет отправляться им по почте. Пользователи должны иметь возможность видеть список отчетов, которые они запланировали, и они должны иметь возможность отменять или изменять существующие запланированные отчеты. Запланированные задания должны сохраняться после перезапуска сервера. На данный момент меня не беспокоит выполнение заданий только на одном узле в кластере серверов рельсов.

  • Планировщик Rufus выглядит неплохо, но мне пришлось бы написать код, чтобы сохранять задания и перезапускать их, когда рельсы перезапускается.
  • Delayed_job имеет дело с постоянством, но я не вижу, как запускать задания по регулярному расписанию, за исключением, возможно, изменения расписания задания на новое время, когда оно запускает
  • resque с ] resque-scheduler кажется очень близким, но я бы хотел избежать добавления redis в наш стек, и я, скорее всего, в конечном итоге попытаюсь переопределить некоторые элементы пользовательского интерфейса в рельсах, чтобы пользователи могли добавлять / удалять / управлять заданиями и было бы здорово, если бы он мог использовать тот же бэкэнд ActiveRecord, что и остальная часть приложения.

13
задан Jamie McCrindle 11 August 2011 в 18:28
поделиться