Class: Karafka::BaseWorker
- Inherits:
-
Object
- Object
- Karafka::BaseWorker
- Includes:
- Sidekiq::Worker
- Defined in:
- lib/karafka/base_worker.rb
Overview
Worker wrapper for Sidekiq workers
Class Method Summary collapse
-
.base_worker ⇒ Class
Returns the base worker class for application.
-
.inherited(subclass) ⇒ Class
Subclass of the worker that was selected.
Instance Method Summary collapse
-
#perform(topic_id, params_batch, metadata) ⇒ Object
Executes the logic that lies in #perform Karafka consumer method.
Class Method Details
.base_worker ⇒ Class
Returns the base worker class for application.
15 16 17 |
# File 'lib/karafka/base_worker.rb', line 15 def base_worker @inherited || raise(Errors::BaseWorkerDescentantMissing) end |
.inherited(subclass) ⇒ Class
Returns subclass of the worker that was selected.
21 22 23 |
# File 'lib/karafka/base_worker.rb', line 21 def inherited(subclass) @inherited ||= subclass end |
Instance Method Details
#perform(topic_id, params_batch, metadata) ⇒ Object
Executes the logic that lies in #perform Karafka consumer method
30 31 32 33 34 35 36 37 38 |
# File 'lib/karafka/base_worker.rb', line 30 def perform(topic_id, params_batch, ) consumer = consumer(topic_id, params_batch, ) Karafka.monitor.instrument( 'backends.sidekiq.base_worker.perform', caller: self, consumer: consumer ) { consumer.consume } end |