discourse/app/jobs/scheduled/clean_up_unmatched_ips.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

25 lines
606 B
Ruby
Raw Normal View History

# frozen_string_literal: true
module Jobs
class CleanUpUnmatchedIPs < ::Jobs::Scheduled
every 1.day
2014-11-26 01:45:45 +08:00
def execute(args)
# roll-up IP addresses first
ScreenedIpAddress.roll_up
last_match_threshold = SiteSetting.max_age_unmatched_ips.days.ago
# remove old unmatched IP addresses
ScreenedIpAddress
.where(action_type: ScreenedIpAddress.actions[:block])
.where(
"last_match_at < ? OR (last_match_at IS NULL AND created_at < ?)",
last_match_threshold,
last_match_threshold,
)
.destroy_all
end
end
end