В настоящее время я использую cron и rails runner для выполнения фоновых заданий. По большей части эти задания представляют собой простые опросы «Найдите записи, которые должны получить напоминание по электронной почте. Отправьте это письмо».
Я наблюдал за своим экземпляром Amazon EC2 Small и заметил, что каждый раз, когда запускается одно из этих заданий cron, загрузка процессора возрастает до ~ 99%. Маленький крошечный запрос в моей нынешней работе определенно не ответственен. Я предполагаю, что всплеск произошел просто из-за усилий по загрузке полной среды рельсов через "бегун рельсов".
Существует ли более эффективный для ЦП способ обработки регулярных пакетных заданий?
P.S. Я знаю, что в конкретном примере отправки напоминания по электронной почте в момент времени X в будущем я мог бы задержать выполнение заданий и просто запланировать работу на будущее. Не все возможные задачи очень хорошо вписываются в структуру delayed_jobs, поэтому я ищу более традиционное решение типа «cron job». Как "рельсовый бегун", но без сумасшедших последствий для процессора.