diff --git a/app/jobs/scheduled/clean_up_unused_staged_users.rb b/app/jobs/scheduled/clean_up_unused_staged_users.rb new file mode 100644 index 00000000000..f11ec67c1ec --- /dev/null +++ b/app/jobs/scheduled/clean_up_unused_staged_users.rb @@ -0,0 +1,18 @@ +module Jobs + + class CleanUpUnusedStagedUsers < Jobs::Scheduled + every 1.day + + def execute(args) + destroyer = UserDestroyer.new(Discourse.system_user) + + User.joins(:user_stat) + .where(staged: true) + .where("users.created_at < ?", 1.year.ago) + .where("user_stats.post_count = 0") + .find_each { |user| destroyer.destroy(user) } + end + + end + +end