Заменим Cron на Clockwork
Адам Виггинс (Adam Wiggins) описывает интересное решение для выполнения задач (методов) приложения, которые должны исполняться периодически.
Например, если нужно раз в час обращаться к API удаленного сервиса или отправлять почтовое уведомление каждый вечер. Обычно для этого используется cron. Адам считает, что cron больше подходит для задач системного уровня, чем для уровня приложения.
В результате получился проект Clockwork.
every 1.hour, 'apis.poll' every 1.day, 'reports.email', :at => '00:00'
Задача будет передана в очередь. Да, очередь задач здесь обязательна, поскольку Clockwork никогда не выполняет задачи самостоятельно.
Clockwork может работать с любой очередью. Вот пример для Beantstalk+Stalker:
require 'stalker'
handler { |job| Stalker.enqueue(job) }
every 1.hour, 'apis.poll'
every 1.day, 'reports.email', :at => '00:00'
Ссылки и подробности:
— AlexSoulim (@ 09:01), (3) / (0)
@Alexander Shvets, большое спасибо за комментарий. Я поправил тест этого поста.
— Превращаем телефон на базе Android в шпионскую камеру