Module: Karafka::Pro::Routing::Features::LongRunningJob::Topic

Defined in:
lib/karafka/pro/routing/features/long_running_job/topic.rb

Overview

Long-Running Jobs topic API extensions

Instance Method Summary collapse

Instance Method Details

#long_running_job(active = false) ⇒ Object

Parameters:

  • active (Boolean) (defaults to: false)

    do we want to enable long-running job feature for this topic



22
23
24
# File 'lib/karafka/pro/routing/features/long_running_job/topic.rb', line 22

def long_running_job(active = false)
  @long_running_job ||= Config.new(active: active)
end

#long_running_job?Boolean

Returns is a given job on a topic a long-running one.

Returns:

  • (Boolean)

    is a given job on a topic a long-running one



27
28
29
# File 'lib/karafka/pro/routing/features/long_running_job/topic.rb', line 27

def long_running_job?
  long_running_job.active?
end

#to_hHash

Returns topic with all its native configuration options plus lrj.

Returns:

  • (Hash)

    topic with all its native configuration options plus lrj



32
33
34
35
36
# File 'lib/karafka/pro/routing/features/long_running_job/topic.rb', line 32

def to_h
  super.merge(
    long_running_job: long_running_job.to_h
  ).freeze
end