diff --git a/app/logical/danbooru_maintenance.rb b/app/logical/danbooru_maintenance.rb index f8ff1e99b..c0e349a1b 100644 --- a/app/logical/danbooru_maintenance.rb +++ b/app/logical/danbooru_maintenance.rb @@ -23,10 +23,13 @@ module DanbooruMaintenance def weekly safely { UserPasswordResetNonce.prune! } - safely { ApproverPruner.prune! } safely { TagRelationshipRetirementService.find_and_retire! } end + def monthly + safely { ApproverPruner.prune! } + end + def regenerate_post_counts! updated_tags = Tag.regenerate_post_counts! updated_tags.each do |tag| diff --git a/config/schedule.rb b/config/schedule.rb index 3b4904efd..3b0438852 100644 --- a/config/schedule.rb +++ b/config/schedule.rb @@ -3,14 +3,18 @@ env "RAILS_LOG_TO_STDOUT", "true" set :output, "log/whenever.log" -every 1.hour do +every :hour do rake "maintenance:hourly" end -every 1.day do +every :day do rake "maintenance:daily" end -every 1.week, :at => "1:30 am" do +every :sunday do rake "maintenance:weekly" end + +every :month do + rake "maintenance:monthly" +end diff --git a/lib/tasks/maintenance.rake b/lib/tasks/maintenance.rake index 99e1936ae..664c9d2a1 100644 --- a/lib/tasks/maintenance.rake +++ b/lib/tasks/maintenance.rake @@ -15,4 +15,9 @@ namespace :maintenance do task weekly: :environment do DanbooruMaintenance.weekly end + + desc "Run monthly maintenance jobs" + task monthly: :environment do + DanbooruMaintenance.monthly + end end