Dedupe scheduled archive jobs as well as queued jobs

This commit is contained in:
Kyle Drake 2016-02-20 19:08:13 -08:00
parent c41c0433b2
commit 7b7fc91eb4

View file

@ -18,11 +18,21 @@ class ArchiveWorker
logger.info "JOB ID: #{jid} #{site_id.inspect}"
queue.each do |job|
if job.args == [site_id] && job.jid != jid
logger.info "DELETING #{job.jid} #{job.args.inspect}"
logger.info "DELETING #{job.jid} for site_id #{site_id}"
job.delete
end
end
scheduled_jobs = Sidekiq::ScheduledSet.new.select do |scheduled_job|
scheduled_job.klass == 'ArchiveWorker' &&
scheduled_job.args[0] == site_id
end
scheduled_jobs.each do |scheduled_job|
logger.info "DELETING scheduled job #{scheduled_job.jid} for site_id #{site_id}"
scheduled_job.delete
end
site.archive!
end
end