Sha256: 7d58630e93d0d24b118235407bcfd6b76ef92488d327685b4d10c5e43b651a98
Contents?: true
Size: 1.9 KB
Versions: 16
Compression:
Stored size: 1.9 KB
Contents
# Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.io/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
16 entries across 16 versions & 1 rubygems