Class: Karafka::Pro::Processing::Jobs::Periodic

Inherits:
Karafka::Processing::Jobs::Base show all
Defined in:
lib/karafka/pro/processing/jobs/periodic.rb

Overview

Job that represents a “ticking” work. Work that we run periodically for the Periodics enabled topics.

Direct Known Subclasses

PeriodicNonBlocking

Instance Attribute Summary

Attributes inherited from Karafka::Processing::Jobs::Base

#executor

Instance Method Summary collapse

Methods inherited from Karafka::Processing::Jobs::Base

#after_call, #before_call, #finish!, #finished?, #non_blocking?, #wrap

Constructor Details

#initialize(executor) ⇒ Periodic

Returns a new instance of Periodic.

Parameters:

  • pro executor that is suppose to run a given job



34
35
36
37
# File 'lib/karafka/pro/processing/jobs/periodic.rb', line 34

def initialize(executor)
  @executor = executor
  super()
end

Instance Method Details

#before_scheduleObject

Code executed before we schedule this job



40
41
42
# File 'lib/karafka/pro/processing/jobs/periodic.rb', line 40

def before_schedule
  executor.before_schedule_periodic
end

#callObject

Runs the executor periodic action



45
46
47
# File 'lib/karafka/pro/processing/jobs/periodic.rb', line 45

def call
  executor.periodic
end