module Qyu::Workers::Concerns::Split
Adds ability to split workers to specify slice size and splittable variable name
Qyu::SplitWorker.new do
slice_size 25 payload_key 'array'
end
Public Instance Methods
payload_key(var_name)
click to toggle source
Configures payload key with array to split
payload_key 25
@param payload_key
[String]
# File lib/qyu/workers/concerns/split.rb, line 33 def payload_key(var_name) @payload_key = var_name end
sample(smpl)
click to toggle source
Run with sampling a single element out of the array
sample true
@param sample [Boolean]
# File lib/qyu/workers/concerns/split.rb, line 42 def sample(smpl) @sample = smpl end
slice_size(slsz)
click to toggle source
Configures slice size
slice_size 25
@param slice_size
[Integer]
# File lib/qyu/workers/concerns/split.rb, line 24 def slice_size(slsz) @slice_size = slsz end
Private Instance Methods
validate_split_parameters!()
click to toggle source
# File lib/qyu/workers/concerns/split.rb, line 47 def validate_split_parameters! if @payload_key.nil? raise Qyu::Errors::MissingSplitParameters.new('payload_key') end if @slice_size.nil? raise Qyu::Errors::MissingSplitParameters.new('slice_size') end if @slice_size.zero? raise Qyu::Errors::InvalidWorkerConfigurationValue.new('slice_size', 0) end end