Я просмотрел несколько библиотек планирования для Rails, и мне нужна помощь в выборе одной из них, учитывая, что ни одна из них, похоже, не отвечает моим требованиям. Это довольно распространенный вариант использования:
У нас есть несколько отчетов, и мы хотели бы разрешить пользователям настраивать, когда они захотят запланировать, когда и как часто конкретный отчет отправляется им по почте. Пользователи должны иметь возможность видеть список отчетов, которые они запланировали, и они должны иметь возможность отменить или изменить существующие запланированные отчеты. Запланированные задания должны выдерживать перезапуски сервера. На данный момент меня не волнует только запуск заданий на одном узле в кластере серверов rails.
- Планировщик Rufus выглядит хорошо, но мне придется написать код, чтобы сохранить задания и перезапустить их после перезапуска рельсов.
- Delayed_job имеет дело с постоянством, но я не вижу, как выполнять задания по регулярному расписанию, за исключением, возможно, переназначения задания в новое время, когда оно запускается
- resque с resque-scheduler кажется очень близким, но я бы хотел избежать добавления Redis в наш стек, и я, вероятно, в конечном итоге попытался бы переопределить некоторые из Пользовательский интерфейс в рельсах, чтобы пользователи могли добавлять / удалять / управлять заданиями, и было бы здорово, если бы он мог использовать тот же бэкэнд ActiveRecord, что и остальная часть приложения.