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