Class: CDC::Sidekiq::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/cdc/sidekiq/configuration.rb

Overview

Runtime defaults shared by CDC-aware Sidekiq jobs.

The configuration intentionally describes only the CDC execution layer. Sidekiq still owns queue selection, scheduling, retries, durability, and job concurrency. cdc-sidekiq owns runtime selection for work performed inside a Sidekiq job.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializevoid



36
37
38
39
40
41
42
43
44
# File 'lib/cdc/sidekiq/configuration.rb', line 36

def initialize
  @default_runtime = :concurrent
  @parallel_size = [Etc.nprocessors - 1, 1].max
  @concurrency = 100
  @timeout = nil
  @preserve_order = true
  @raise_on_failure = true
  @batch_payloads = true
end

Instance Attribute Details

#batch_payloadsBoolean

Returns whether array payloads should be processed with #process_many by default.

Returns:

  • (Boolean)

    whether array payloads should be processed with #process_many by default.



33
34
35
# File 'lib/cdc/sidekiq/configuration.rb', line 33

def batch_payloads
  @batch_payloads
end

#concurrencyInteger

Returns default number of Async tasks for cdc-concurrent jobs.

Returns:

  • (Integer)

    default number of Async tasks for cdc-concurrent jobs.



21
22
23
# File 'lib/cdc/sidekiq/configuration.rb', line 21

def concurrency
  @concurrency
end

#default_runtimeSymbol

Returns default runtime used when a job does not declare one.

Returns:

  • (Symbol)

    default runtime used when a job does not declare one.



15
16
17
# File 'lib/cdc/sidekiq/configuration.rb', line 15

def default_runtime
  @default_runtime
end

#parallel_sizeInteger

Returns default number of Ractor workers for cdc-parallel jobs.

Returns:

  • (Integer)

    default number of Ractor workers for cdc-parallel jobs.



18
19
20
# File 'lib/cdc/sidekiq/configuration.rb', line 18

def parallel_size
  @parallel_size
end

#preserve_orderBoolean

Returns default result-ordering policy for cdc-concurrent jobs.

Returns:

  • (Boolean)

    default result-ordering policy for cdc-concurrent jobs.



27
28
29
# File 'lib/cdc/sidekiq/configuration.rb', line 27

def preserve_order
  @preserve_order
end

#raise_on_failureBoolean

Returns default failure policy for processor jobs.

Returns:

  • (Boolean)

    default failure policy for processor jobs.



30
31
32
# File 'lib/cdc/sidekiq/configuration.rb', line 30

def raise_on_failure
  @raise_on_failure
end

#timeoutFloat?

Returns default per-item timeout passed to CDC processor pools.

Returns:

  • (Float, nil)

    default per-item timeout passed to CDC processor pools.



24
25
26
# File 'lib/cdc/sidekiq/configuration.rb', line 24

def timeout
  @timeout
end

Instance Method Details

#dupConfiguration

Build an immutable copy so job-level overrides cannot mutate globals.

Returns:



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/cdc/sidekiq/configuration.rb', line 49

def dup
  copy = self.class.new
  copy.default_runtime = default_runtime
  copy.parallel_size = parallel_size
  copy.concurrency = concurrency
  copy.timeout = timeout
  copy.preserve_order = preserve_order
  copy.raise_on_failure = raise_on_failure
  copy.batch_payloads = batch_payloads
  copy
end