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!"
|
runner "UploadErrorChecker.new.check!"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
every 1.hour do
|
||||||
|
runner "DelayedJobErrorChecker.new.check!"
|
||||||
|
end
|
||||||
|
|
||||||
every 1.day do
|
every 1.day do
|
||||||
runner "DailyMaintenance.new.run"
|
runner "DailyMaintenance.new.run"
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user