Class: CDC::SolidQueue::DownstreamProcessor
- Inherits:
-
Object
- Object
- CDC::SolidQueue::DownstreamProcessor
- Defined in:
- lib/cdc/solid_queue/downstream_processor.rb
Overview
Delegates processor-job work to CDC downstream runtime primitives.
Instance Attribute Summary collapse
- #configuration ⇒ Configuration readonly
Instance Method Summary collapse
-
#initialize(configuration) ⇒ DownstreamProcessor
constructor
A new instance of DownstreamProcessor.
-
#process(item) ⇒ Object
Process one normalized CDC work item.
-
#process_many(items) ⇒ Object
Process many normalized CDC work items.
Constructor Details
#initialize(configuration) ⇒ DownstreamProcessor
Returns a new instance of DownstreamProcessor.
11 12 13 |
# File 'lib/cdc/solid_queue/downstream_processor.rb', line 11 def initialize(configuration) @configuration = configuration end |
Instance Attribute Details
#configuration ⇒ Configuration (readonly)
8 9 10 |
# File 'lib/cdc/solid_queue/downstream_processor.rb', line 8 def configuration @configuration end |
Instance Method Details
#process(item) ⇒ Object
Process one normalized CDC work item.
19 20 21 22 23 |
# File 'lib/cdc/solid_queue/downstream_processor.rb', line 19 def process(item) return process_many(item) if item.is_a?(Array) process_one(item) end |
#process_many(items) ⇒ Object
Process many normalized CDC work items.
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/cdc/solid_queue/downstream_processor.rb', line 29 def process_many(items) case configuration.downstream_runtime when :direct process_many_direct(items) when :concurrent process_with_runtime(concurrent_runtime, items) when :parallel process_with_runtime(parallel_runtime, items) else raise ConfigurationError, "unsupported downstream_runtime: #{configuration.downstream_runtime.inspect}" end end |