Class: Hanami::Events::CloudPubsub::HealthCheckServer

Inherits:
Object
  • Object
show all
Defined in:
lib/hanami/events/cloud_pubsub/health_check_server.rb

Overview

Simple server for health checks

Instance Method Summary collapse

Constructor Details

#initialize(runner, logger) ⇒ HealthCheckServer

Returns a new instance of HealthCheckServer.



10
11
12
13
# File 'lib/hanami/events/cloud_pubsub/health_check_server.rb', line 10

def initialize(runner, logger)
  @runner = runner
  @logger = logger
end

Instance Method Details

#run_in_background(on_shutdown: nil) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/hanami/events/cloud_pubsub/health_check_server.rb', line 25

def run_in_background(on_shutdown: nil)
  prom = Concurrent::Promise.execute do
    start
    on_shutdown&.call(@server)
  end

  prom.catch { |err| logger.error(err) }
end

#shutdownObject



20
21
22
23
# File 'lib/hanami/events/cloud_pubsub/health_check_server.rb', line 20

def shutdown
  logger.info 'Shutting down healthcheck server'
  @server.shutdown
end

#startObject



15
16
17
18
# File 'lib/hanami/events/cloud_pubsub/health_check_server.rb', line 15

def start
  logger.info 'Starting healthcheck server on port 0.0.0.0:8081'
  start_server
end