Я думаю, что ответ зависит от ваших потребностей.Если эти задачи занимают довольно много времени, то самое простое решение - сделать это традиционным способом с помощью daemon.Если вы хотите положиться на стек Rails, вы должны загрузить его в память, чтобы использовать его - вы не избежите его.
Если вашим задачам не нужно много времени, вы можете сделать что-то вродеэто: использовать доступные методы (например, delayed_job ), но периодически запускать и останавливать демон (см. здесь для некоторых советов).Таким образом, вы можете запустить 10 демонов в 9 часов утра и остановить их в 10 часов утра. Затем вы можете запустить еще 10 демонов и так далее.Запуск и остановку можно выполнить с помощью cron или любого другого аналогичного инструмента.
Однако, если ваши задачи действительно просты и очень похожи в каждом приложении, вы можете просто написать свои сценарии для выполнения этой работы.Например, если «обычный очистить кэш» означает, что вы удаляете некоторые файлы из некоторых каталогов, просто поместите их в скрипт и периодически запускайте.Отправка электронной почты также может быть осуществлена через скрипт (программа ruby).Получить данные из БД в рубине действительно легко.Таким образом, эта программа может периодически проверять что-то вроде mails_queue
таблицы в базах данных и отправлять электронные письма.Если ваши приложения похожи, то достичь этого будет довольно просто.
Возможно, есть некоторые готовые решения для этого, но я не слышал о них.