Class: Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::UntilExecuting

Inherits:
DeduplicatesWhenScheduling show all
Defined in:
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb

Overview

This strategy takes a lock before scheduling the job in a queue and removes the lock before the job starts allowing a new job to be queued while a job is still executing.

Instance Method Summary collapse

Methods inherited from DeduplicatesWhenScheduling

#initialize, #schedule

Methods included from Utils::Override

#extended, extensions, #included, #method_added, #override, #prepended, #queue_verification, verify!

Methods inherited from Base

#initialize, #schedule

Constructor Details

This class inherits a constructor from Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::DeduplicatesWhenScheduling

Instance Method Details

#perform(job) ⇒ Object



12
13
14
15
16
17
# File 'lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb', line 12

def perform(job)
  super
  duplicate_job.delete!

  yield
end