diff --git a/app/jobs/scheduled/purge_inactive.rb b/app/jobs/scheduled/purge_inactive.rb new file mode 100644 index 000000000..ee5e30a43 --- /dev/null +++ b/app/jobs/scheduled/purge_inactive.rb @@ -0,0 +1,10 @@ +module Jobs + class PurgeInactive < Jobs::Scheduled + every 1.day + + def execute(args) + User.purge_inactive + end + end +end + diff --git a/app/jobs/scheduled/weekly.rb b/app/jobs/scheduled/weekly.rb index f137c9d64..156cfd74e 100644 --- a/app/jobs/scheduled/weekly.rb +++ b/app/jobs/scheduled/weekly.rb @@ -11,7 +11,6 @@ module Jobs Post.calculate_avg_time Topic.calculate_avg_time ScoreCalculator.new.calculate - User.purge_inactive end end end diff --git a/app/models/user.rb b/app/models/user.rb index 67e82e99b..62f8537b4 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -720,7 +720,7 @@ class User < ActiveRecord::Base # and some sites still have those records which can't be purged. to_destroy = User.where(active: false) .joins('INNER JOIN user_stats AS us ON us.user_id = users.id') - .where("created_at < ?", 1.week.ago) + .where("created_at < ?", SiteSetting.purge_inactive_users_grace_period_days.days.ago) .where('us.post_count = 0') destroyer = UserDestroyer.new(Discourse.system_user) diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 2f8e59945..4acc4355f 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -818,6 +818,7 @@ en: clean_up_uploads: "Remove orphan unreferenced uploads to prevent illegal hosting. WARNING: you may want to back up of your /uploads directory before enabling this setting." clean_orphan_uploads_grace_period_hours: "Grace period (in hours) before an orphan upload is removed." purge_deleted_uploads_grace_period_days: "Grace period (in days) before a deleted upload is erased." + purge_inactive_users_grace_period_days: "Grace period (in days) before an inactive user is deleted." enable_s3_uploads: "Place uploads on Amazon S3 storage." s3_upload_bucket: "The Amazon S3 bucket name that files will be uploaded into. WARNING: must be lowercase, no periods." s3_access_key_id: "The Amazon S3 access key id that will be used to upload images." diff --git a/config/site_settings.yml b/config/site_settings.yml index 67cd795be..a0dfab098 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -704,6 +704,7 @@ uncategorized: default: true disable_edit_notifications: false + purge_inactive_users_grace_period_days: 7 company_full_name: 'My Unconfigured Forum Ltd.' company_short_name: 'Unconfigured Forum' @@ -723,3 +724,4 @@ uncategorized: privacy_topic_id: default: -1 hidden: true +