Module: CDC::Sidekiq::ProcessorJob::ClassMethods

Defined in:
lib/cdc/sidekiq/processor_job.rb

Overview

Class-level declaration helpers for CDC-aware Sidekiq jobs.

Instance Method Summary collapse

Instance Method Details

#__cdc_sidekiq_batch_payloadsBoolean

Returns true when array payloads should use #process_many.

Returns:

  • (Boolean)

    true when array payloads should use #process_many.



169
170
171
# File 'lib/cdc/sidekiq/processor_job.rb', line 169

def __cdc_sidekiq_batch_payloads
  configured_boolean(@cdc_batch_payloads, CDC::Sidekiq.configuration.batch_payloads)
end

#__cdc_sidekiq_raise_on_failureBoolean

Returns true when failed results should raise.

Returns:

  • (Boolean)

    true when failed results should raise.



174
175
176
# File 'lib/cdc/sidekiq/processor_job.rb', line 174

def __cdc_sidekiq_raise_on_failure
  configured_boolean(@cdc_raise_on_failure, CDC::Sidekiq.configuration.raise_on_failure)
end

#__cdc_sidekiq_runtimeRuntime

Build the runtime used by one Sidekiq job invocation.

Returns:

  • (Runtime)

    runtime configured for this job class.

Raises:



157
158
159
160
161
162
163
164
165
166
# File 'lib/cdc/sidekiq/processor_job.rb', line 157

def __cdc_sidekiq_runtime
  Runtime.new(
    processor: __cdc_sidekiq_processor,
    runtime: __cdc_sidekiq_runtime_name,
    parallel_size: __cdc_sidekiq_parallel_size,
    concurrency: __cdc_sidekiq_concurrency,
    timeout: __cdc_sidekiq_timeout,
    preserve_order: __cdc_sidekiq_preserve_order
  )
end

#cdc_batch_payloads(value = nil) ⇒ Boolean?

Declare or read whether array payloads use #process_many.

Parameters:

  • value (Boolean, nil) (defaults to: nil)

    true to batch array payloads, false to process the array as one item.

Returns:

  • (Boolean, nil)

    configured batching policy when called without an argument.



137
138
139
140
141
# File 'lib/cdc/sidekiq/processor_job.rb', line 137

def cdc_batch_payloads(value = nil)
  return @cdc_batch_payloads if value.nil?

  @cdc_batch_payloads = value == true
end

#cdc_concurrency(value = nil) ⇒ Integer?

Declare or read the cdc-concurrent task concurrency for this job.

Parameters:

  • value (Integer, nil) (defaults to: nil)

    maximum Async task count for this job.

Returns:

  • (Integer, nil)

    configured concurrency when called without an argument.



107
108
109
110
111
# File 'lib/cdc/sidekiq/processor_job.rb', line 107

def cdc_concurrency(value = nil)
  return @cdc_concurrency if value.nil?

  @cdc_concurrency = Integer(value)
end

#cdc_parallel_size(value = nil) ⇒ Integer?

Declare or read the cdc-parallel worker count for this job.

Parameters:

  • value (Integer, nil) (defaults to: nil)

    number of Ractor workers for this job.

Returns:

  • (Integer, nil)

    configured worker count when called without an argument.



97
98
99
100
101
# File 'lib/cdc/sidekiq/processor_job.rb', line 97

def cdc_parallel_size(value = nil)
  return @cdc_parallel_size if value.nil?

  @cdc_parallel_size = Integer(value)
end

#cdc_preserve_order(value = nil) ⇒ Boolean?

Declare or read result ordering for cdc-concurrent.

Parameters:

  • value (Boolean, nil) (defaults to: nil)

    true to preserve input order, false to keep completion order.

Returns:

  • (Boolean, nil)

    configured ordering policy when called without an argument.



127
128
129
130
131
# File 'lib/cdc/sidekiq/processor_job.rb', line 127

def cdc_preserve_order(value = nil)
  return @cdc_preserve_order if value.nil?

  @cdc_preserve_order = value == true
end

#cdc_processor(value = nil) ⇒ Class, ...

Declare or read the processor used by this job.

Parameters:

  • value (Class, Object, nil) (defaults to: nil)

    processor class or processor instance.

Returns:

  • (Class, Object, nil)

    configured processor when called without an argument.



77
78
79
80
81
# File 'lib/cdc/sidekiq/processor_job.rb', line 77

def cdc_processor(value = nil)
  return @cdc_processor if value.nil?

  @cdc_processor = value
end

#cdc_raise_on_failure(value = nil) ⇒ Boolean?

Declare or read whether failed ProcessorResult objects raise.

Parameters:

  • value (Boolean, nil) (defaults to: nil)

    true to raise on failed results so Sidekiq retries the job.

Returns:

  • (Boolean, nil)

    configured failure policy when called without an argument.



147
148
149
150
151
# File 'lib/cdc/sidekiq/processor_job.rb', line 147

def cdc_raise_on_failure(value = nil)
  return @cdc_raise_on_failure if value.nil?

  @cdc_raise_on_failure = value == true
end

#cdc_runtime(value = nil) ⇒ Symbol?

Declare or read the CDC runtime used by this job.

Parameters:

  • value (Symbol, String, nil) (defaults to: nil)

    runtime name, such as :parallel, :concurrent, or :direct.

Returns:

  • (Symbol, nil)

    configured runtime when called without an argument.



87
88
89
90
91
# File 'lib/cdc/sidekiq/processor_job.rb', line 87

def cdc_runtime(value = nil)
  return @cdc_runtime if value.nil?

  @cdc_runtime = value.to_sym
end

#cdc_timeout(value = :__cdc_sidekiq_read__) ⇒ Float?

Declare or read the runtime timeout for this job.

Parameters:

  • value (Float, Integer, nil) (defaults to: :__cdc_sidekiq_read__)

    timeout in seconds, or nil for no timeout.

Returns:

  • (Float, nil)

    configured timeout when called without an argument.



117
118
119
120
121
# File 'lib/cdc/sidekiq/processor_job.rb', line 117

def cdc_timeout(value = :__cdc_sidekiq_read__)
  return @cdc_timeout if value == :__cdc_sidekiq_read__

  @cdc_timeout = value.nil? ? nil : Float(value)
end