remove redundant archive requests from queue

This commit is contained in:
Kyle Drake 2015-06-06 22:47:12 -07:00
parent 3023c8badd
commit 864903aa1f

View file

@ -1,8 +1,19 @@
require 'sidekiq/api'
class ArchiveWorker class ArchiveWorker
include Sidekiq::Worker include Sidekiq::Worker
sidekiq_options queue: :archive, retry: 10, backtrace: true sidekiq_options queue: :archive, retry: 2, backtrace: true
def perform(site_id) 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
end end