From 3b276d268f8e49b897f16f490c78a5a5880c6216 Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Fri, 30 Aug 2019 22:03:46 -0500 Subject: use a scheduled task to batch domain policy changes + revert `29643fd6` to avoid accidentally dosing servers when multiple users block a domain --- app/workers/scheduler/domain_policy_scheduler.rb | 11 +++++++++++ app/workers/scheduler/janitor_scheduler.rb | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 app/workers/scheduler/domain_policy_scheduler.rb (limited to 'app/workers/scheduler') diff --git a/app/workers/scheduler/domain_policy_scheduler.rb b/app/workers/scheduler/domain_policy_scheduler.rb new file mode 100644 index 000000000..c7c0b5e62 --- /dev/null +++ b/app/workers/scheduler/domain_policy_scheduler.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class Scheduler::DomainPolicyScheduler + include Sidekiq::Worker + + sidekiq_options unique: :until_executed + + def perform + DomainBlock.unprocessed.find_each { |policy| BlockDomainService.new.call(policy) } + end +end diff --git a/app/workers/scheduler/janitor_scheduler.rb b/app/workers/scheduler/janitor_scheduler.rb index 6a386b30a..3411ec26b 100644 --- a/app/workers/scheduler/janitor_scheduler.rb +++ b/app/workers/scheduler/janitor_scheduler.rb @@ -59,7 +59,6 @@ class Scheduler::JanitorScheduler blocks.each do |entry| next unless domain_exists?(entry[:domain]) block = DomainBlock.create!(entry) - DomainBlockWorker.perform_async(block) Admin::ActionLog.create(account: @account, action: :create, target: block) user_friendly_action_log(@account, :create, block) end -- cgit