Class: HubSsoLib::Trust::Server::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/hub_sso_lib.rb

Constant Summary collapse

QUEUE =
::Queue.new

Class Method Summary collapse

Class Method Details

.runObject



959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
# File 'lib/hub_sso_lib.rb', line 959

def self.run
  uri             = ::HubSsoLib::Trust.get_trust_server_connection_uri()
  already_running = ::HubSsoLib::Trust.already_running?

  unless ENV['HUB_QUIET_SERVER'] == 'yes'
    message = unless already_running
      "Trust server: Starting at #{ uri }"
    else
      "Trust server: Already running at at #{ uri }"
    end

    puts message
  end

  Signal.trap('INT' ) { QUEUE << :INT  }
  Signal.trap('TERM') { QUEUE << :TERM }

  DRb.start_service(uri, ::HubApp::Trust::ActionManager.new, { :safe_level => 1 })

  QUEUE.pop

  self.shutdown()
  exit

rescue => e
  Sentry.capture_exception(e) if defined?(Sentry) && Sentry.respond_to?(:capture_exception)
  raise
end

.shutdownObject



988
989
990
991
992
993
994
995
996
997
998
# File 'lib/hub_sso_lib.rb', line 988

def self.shutdown
  unless ENV['HUB_QUIET_SERVER'] == 'yes'
    puts "Server: Graceful shutdown..."
  end

  DRb.stop_service

  unless ENV['HUB_QUIET_SERVER'] == 'yes'
    puts "Server: ...completed."
  end
end