Files
danbooru/app/logical/daily_maintenance.rb
2018-10-04 01:51:42 -07:00

38 lines
1.3 KiB
Ruby

class DailyMaintenance
def hourly
sm = Danbooru.config.storage_manager
Post.where("id >= ? and created_at > ?", 3275713, 10.minutes.ago).find_each do |post|
file_path = sm.file_path(post, post.file_ext, :original)
sm.store_file(File.open(file_path, "rb"), post, :original)
preview_path = sm.file_path(post, post.file_ext, :preview)
sm.store_file(File.open(preview_path, "rb"), post, :preview)
if post.has_large?
sample_path = sm.file_path(post, post.file_ext, :large)
sm.store_file(File.open(sample_path, "rb"), post, :large)
end
end
end
def run
ActiveRecord::Base.connection.execute("set statement_timeout = 0")
PostPruner.new.prune!
TagPruner.new.prune!
Upload.where('created_at < ?', 1.day.ago).delete_all
Delayed::Job.where('created_at < ?', 45.days.ago).delete_all
#ForumPostVote.where("created_at < ?", 90.days.ago).delete_all
PostVote.prune!
CommentVote.prune!
ApiCacheGenerator.new.generate_tag_cache
PostDisapproval.prune!
ForumSubscription.process_all!
TagAlias.update_cached_post_counts_for_all
PostDisapproval.dmail_messages!
Tag.clean_up_negative_post_counts!
SuperVoter.init!
TokenBucket.prune!
TagChangeRequestPruner.warn_all
TagChangeRequestPruner.reject_all
Ban.prune!
end
end