From 864903aa1f6a63b605b1a790f8286649ea366f1e Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Sat, 6 Jun 2015 22:47:12 -0700 Subject: [PATCH] remove redundant archive requests from queue --- workers/archive_worker.rb | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/workers/archive_worker.rb b/workers/archive_worker.rb index 63df8a07..d7d0de15 100644 --- a/workers/archive_worker.rb +++ b/workers/archive_worker.rb @@ -1,8 +1,19 @@ +require 'sidekiq/api' + class ArchiveWorker include Sidekiq::Worker - sidekiq_options queue: :archive, retry: 10, backtrace: true + sidekiq_options queue: :archive, retry: 2, backtrace: true def perform(site_id) - Site[site_id].archive! + site = Site[site_id] + return if site.nil? || site.is_banned? + + queue = Sidekiq::Queue.new self.class.sidekiq_options_hash['queue'] + + queue.each do |job| + job.delete if job.args == [site_id] && job.jid != jid + end + + site.archive! end end