add hourly check for delayed job errors
This commit is contained in:
20
app/logical/delayed_job_error_checker.rb
Normal file
20
app/logical/delayed_job_error_checker.rb
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
require 'mail'
|
||||
|
||||
class DelayedJobErrorChecker
|
||||
def check!
|
||||
errors = Delayed::Job.where("last_error is not null").limit(100).pluck(:last_error).map {|x| x[0..100]}
|
||||
if errors.size == 100
|
||||
mail = Mail.new do
|
||||
from "webmaster@danbooru.donmai.us"
|
||||
to "r888888888@gmail.com"
|
||||
subject "[danbooru] Delayed job error count at #{errors}"
|
||||
body errors.uniq.join("\n")
|
||||
end
|
||||
mail.delivery_method :sendmail
|
||||
mail.deliver
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,6 +5,10 @@ every 1.hour do
|
||||
runner "UploadErrorChecker.new.check!"
|
||||
end
|
||||
|
||||
every 1.hour do
|
||||
runner "DelayedJobErrorChecker.new.check!"
|
||||
end
|
||||
|
||||
every 1.day do
|
||||
runner "DailyMaintenance.new.run"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user