Я использую delayed_job и delayed_job_active_record для фонового выполнения задания в моем приложении rails. Мы используем очередь на основе delayed_job. Для запуска с задержкой я использую следующую команду.
RAILS_ENV=staging script/delayed_job -i=1 --queue=queue_name start
Проблема ниже, запрос стреляет бесконечно.
SQL (0.4ms) UPDATE 'delayed_jobs' SET 'locked_at' = '2013-04-16 09:27:23', 'locked_by' = 'delayed_job.=2 host:ip-10-204-210-77 pid:2168' WHERE 'delayed_jobs'.'queue' IN ('queue_name') AND ((run_at <= '2013-04-16 09:27:23' AND (locked_at IS NULL OR locked_at < '2013-04-16 05:27:23') OR locked_by = 'delayed_job.=2 host:ip-10-204-210-77 pid:2168') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1
И количество отсроченных заданий равно нулю. Из-за этого приложение работает очень медленно и страницы не загружаются во многих местах.