Files
danbooru/app/logical/upload_error_checker.rb
2018-10-25 14:06:44 -07:00

23 lines
713 B
Ruby

#!/usr/bin/env ruby
require 'mail'
class UploadErrorChecker
def check!
uploads = Upload.where("status like 'error%' and status not like 'error: Upload::Error - Post with MD5%' and status not like 'error: ActiveRecord::RecordInvalid - Validation failed: Md5 duplicate%' and created_at >= ?", 1.hour.ago)
if uploads.size > 5
mail = Mail.new do
from Danbooru.config.contact_email
to Danbooru.config.contact_email
CurrentUser.as_system do
subject "[#{Danbooru.config.app_name}] Upload error count at #{uploads.size}"
end
body uploads.map {|x| x.status}.join("\n")
end
mail.delivery_method :sendmail
mail.deliver
end
end
end