diff options
Diffstat (limited to 'lib/gitlab/runtime.rb')
-rw-r--r-- | lib/gitlab/runtime.rb | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/lib/gitlab/runtime.rb b/lib/gitlab/runtime.rb deleted file mode 100644 index 07a3afb8834..00000000000 --- a/lib/gitlab/runtime.rb +++ /dev/null @@ -1,62 +0,0 @@ -# frozen_string_literal: true - -module Gitlab - # Provides routines to identify the current runtime as which the application - # executes, such as whether it is an application server and which one. - module Runtime - class << self - def name - matches = [] - matches << :puma if puma? - matches << :unicorn if unicorn? - matches << :console if console? - matches << :sidekiq if sidekiq? - - raise "Ambiguous process match: #{matches}" if matches.size > 1 - - matches.first || :unknown - end - - def puma? - !!(defined?(::Puma) && bin == 'puma') - end - - # For unicorn, we need to check for actual server instances to avoid false positives. - def unicorn? - !!(defined?(::Unicorn) && defined?(::Unicorn::HttpServer)) - end - - def sidekiq? - !!(defined?(::Sidekiq) && Sidekiq.server? && bin == 'sidekiq') - end - - def console? - !!defined?(::Rails::Console) - end - - def app_server? - puma? || unicorn? - end - - def multi_threaded? - puma? || sidekiq? - end - - private - - # Some example values from my system: - # puma: /data/cache/bundle-2.5/bin/puma - # unicorn: unicorn_rails master -E development -c /tmp/unicorn.rb -l 0.0.0.0:8080 - # sidekiq: /data/cache/bundle-2.5/bin/sidekiq - # thin: bin/rails - # console: bin/rails - def script_name - $0 - end - - def bin - File.basename(script_name) - end - end - end -end |