Module: CDC::SolidQueue::ProcessorJob
- Defined in:
- lib/cdc/solid_queue/processor_job.rb
Overview
Mixin for Rails ApplicationJob classes that consume CDC event payloads.
Including classes implement #process(event). Active Job calls #perform, this mixin deserializes the payload, then delegates to #process.
Class Method Summary collapse
-
.included(base) ⇒ void
Add a default queue name when Active Job provides queue_as.
Instance Method Summary collapse
-
#perform(payload) ⇒ Object
Active Job entrypoint.
-
#process(event) ⇒ Object
Process a normalized CDC event payload.
Class Method Details
.included(base) ⇒ void
This method returns an undefined value.
Add a default queue name when Active Job provides queue_as.
14 15 16 |
# File 'lib/cdc/solid_queue/processor_job.rb', line 14 def self.included(base) base.queue_as(:cdc) if base.respond_to?(:queue_as) end |
Instance Method Details
#perform(payload) ⇒ Object
Active Job entrypoint.
22 23 24 |
# File 'lib/cdc/solid_queue/processor_job.rb', line 22 def perform(payload) process(EventSerializer.load_event(payload)) end |
#process(event) ⇒ Object
Process a normalized CDC event payload.
30 31 32 |
# File 'lib/cdc/solid_queue/processor_job.rb', line 30 def process(event) raise NotImplementedError, "#{self.class} must implement #process" end |