discourse/app/jobs/scheduled/clean_up_unmatched_ips.rb
Krzysztof Kotlarek 427d54b2b0 DEV: Upgrading Discourse to Zeitwerk (#8098)
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.
2019-10-02 14:01:53 +10:00

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