class Sidekiq::Clutch::JobsCollection
Public Class Methods
new(service)
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 4 def initialize(service) @service = service @jobs = [] @result_key_index = 0 end
Public Instance Methods
<<((klass, *params))
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 22 def <<((klass, *params)) if @service.parallel? @jobs << new_parallel_step unless continue_existing_parallel_step? @jobs.last['parallel'] << [klass.name, params] else @jobs << { 'series' => [klass.name, params], 'result_key_index' => next_result_key_index } end end
empty?()
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 10 def empty? @jobs.empty? end
next_result_key_index()
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 31 def next_result_key_index @result_key_index += 1 end
raw()
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 14 def raw @jobs end
raw=(jobs)
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 18 def raw=(jobs) @jobs = jobs end
Private Instance Methods
continue_existing_parallel_step?()
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 41 def continue_existing_parallel_step? @jobs.last && @jobs.last['parallel_key'] == @service.parallel_key end
new_parallel_step()
click to toggle source
# File lib/sidekiq/clutch/jobs_collection.rb, line 37 def new_parallel_step { 'parallel' => [], 'result_key_index' => next_result_key_index, 'parallel_key' => @service.parallel_key } end