Class: Sbmt::KafkaConsumer::Server

Inherits:
Karafka::Server
  • Object
show all
Defined in:
lib/sbmt/kafka_consumer/server.rb

Class Method Summary collapse

Class Method Details

.runObject

original klass tries to validate karafka-specific server cli-options which we override see Karafka::Server for details



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/sbmt/kafka_consumer/server.rb', line 9

def run
  Karafka::Server.listeners = []
  Karafka::Server.workers = []

  process.on_sigint { Karafka::Server.stop }
  process.on_sigquit { Karafka::Server.stop }
  process.on_sigterm { Karafka::Server.stop }
  process.on_sigtstp { Karafka::Server.quiet }
  process.supervise

  $stdout.puts "Starting server"
  Karafka::Server.start

  sleep(0.1) until Karafka::App.terminated?
  # rubocop:disable Lint/RescueException
rescue Exception => e
  $stdout.puts "Cannot start server: #{e.message}"

  # rubocop:enable Lint/RescueException
  Karafka::Server.stop

  raise e
end