development.log
SQL (0.4ms) UPDATE `delayed_jobs` SET `locked_at` = '2013-04-14 05:23:00', `locked_by` = 'delayed_job host:hoge.lan pid:74793' WHERE ((run_at <= '2013-04-14 05:23:00' AND (locked_at IS NULL OR locked_at < '2013-04-14 01:23:00') OR locked_by = 'delayed_job host:hoge.lan pid:74793') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1
SQL (0.4ms) UPDATE `delayed_jobs` SET `locked_at` = '2013-04-14 05:23:05', `locked_by` = 'delayed_job host:hoge.lan pid:74793' WHERE ((run_at <= '2013-04-14 05:23:05' AND (locked_at IS NULL OR locked_at < '2013-04-14 01:23:05') OR locked_by = 'delayed_job host:hoge.lan pid:74793') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1
こんな感じのログが毎秒出力されるので、非常に精神衛生上よろしくない。
止めましょう。 Rails4 の方はコメント参照。
initializers/delayed_job.rb
module Delayed
class Job
class << self
def reserve_with_log_silencer(worker, max_run_time = Worker.max_run_time)
silence { reserve_without_log_silencer(worker, max_run_time) }
end
alias_method_chain :reserve, :log_silencer
end
end
end