Class: CDC::Sidekiq::Configuration
- Inherits:
-
Object
- Object
- CDC::Sidekiq::Configuration
- 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
-
#batch_payloads ⇒ Boolean
Whether array payloads should be processed with #process_many by default.
-
#concurrency ⇒ Integer
Default number of Async tasks for cdc-concurrent jobs.
-
#default_runtime ⇒ Symbol
Default runtime used when a job does not declare one.
-
#parallel_size ⇒ Integer
Default number of Ractor workers for cdc-parallel jobs.
-
#preserve_order ⇒ Boolean
Default result-ordering policy for cdc-concurrent jobs.
-
#raise_on_failure ⇒ Boolean
Default failure policy for processor jobs.
-
#timeout ⇒ Float?
Default per-item timeout passed to CDC processor pools.
Instance Method Summary collapse
-
#dup ⇒ Configuration
Build an immutable copy so job-level overrides cannot mutate globals.
- #initialize ⇒ void constructor
Constructor Details
#initialize ⇒ void
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_payloads ⇒ Boolean
Returns 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 |
#concurrency ⇒ Integer
Returns 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_runtime ⇒ Symbol
Returns 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_size ⇒ Integer
Returns 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_order ⇒ Boolean
Returns 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_failure ⇒ Boolean
Returns 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 |
#timeout ⇒ Float?
Returns 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
#dup ⇒ Configuration
Build an immutable copy so job-level overrides cannot mutate globals.
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 |