mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 09:33:41 +08:00
427d54b2b0
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. We no longer need to use Rails "require_dependency" anywhere and instead can just use standard Ruby patterns to require files. This is a far reaching change and we expect some followups here.
23 lines
559 B
Ruby
23 lines
559 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Jobs
|
|
|
|
class CleanUpUnmatchedIPs < ::Jobs::Scheduled
|
|
every 1.day
|
|
|
|
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
|