mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Merge pull request #4836 from tgxworld/fix_clean_up_staged_users_job
FIX: Clean up unused staged users job not completing.
This commit is contained in:
@@ -6,11 +6,21 @@ module Jobs
|
||||
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) }
|
||||
User.joins("LEFT JOIN posts ON posts.user_id = users.id")
|
||||
.where("posts.user_id IS NULL")
|
||||
.where(staged: true)
|
||||
.where("users.created_at < ?", 1.year.ago)
|
||||
.find_each do |user|
|
||||
|
||||
begin
|
||||
destroyer.destroy(user)
|
||||
rescue => e
|
||||
Discourse.handle_job_exception(e,
|
||||
message: "Cleaning up unused staged user",
|
||||
extra: { user_id: user.id }
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user