Sha256: 4208bc501b17083708f6c3c8df8ac064a891e9e6e2a7be9897711fdc5f0ecc34
Contents?: true
Size: 1.92 KB
Versions: 39
Compression:
Stored size: 1.92 KB
Contents
# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html require 'sqreen/log' require 'sqreen/web_server/generic' require 'sqreen/web_server/unicorn' require 'sqreen/web_server/rainbows' require 'sqreen/web_server/puma' require 'sqreen/web_server/passenger' require 'sqreen/web_server/thin' require 'sqreen/web_server/webrick' module Sqreen module WebServer module_function def attach extend(detect) Sqreen.log.debug "[#{Process.pid}] #{detect.inspect}" if forking? && preload_app? && master? Sqreen.log.debug "[#{Process.pid}] master process #{Process.pid} delegating Sqreen worker boot to forked web worker processes" Sqreen.log.debug('Sqreen detected a forking web server with preloading') Sqreen.log.debug("master process #{Process.pid} delegating Sqreen worker boot to forked web worker processes") after_fork { yield } elsif forking? && !master? && !preload_app? Sqreen.log.debug "[#{Process.pid}] Booting Sqreen worker in process #{Process.pid}" Sqreen.log.debug('Sqreen detected a forked web worker without preloading') Sqreen.log.debug("Booting Sqreen worker in process #{Process.pid}") yield elsif !forking? Sqreen.log.debug "[#{Process.pid}] Booting Sqreen worker in process #{Process.pid}" Sqreen.log.debug('Sqreen detected a single-process web server') Sqreen.log.debug("Booting Sqreen worker in process #{Process.pid}") yield else Sqreen.log.debug "[#{Process.pid}] NOOP" end end def detect [ Sqreen::WebServer::Puma, Sqreen::WebServer::Rainbows, Sqreen::WebServer::Unicorn, Sqreen::WebServer::Passenger, Sqreen::WebServer::Thin, Sqreen::WebServer::WEBrick, Sqreen::WebServer::Generic, ].find(&:active?) end end end
Version data entries
39 entries across 39 versions & 1 rubygems