Module: Sqreen::WebServer
- Defined in:
- lib/sqreen/web_server.rb,
lib/sqreen/web_server/puma.rb,
lib/sqreen/web_server/thin.rb,
lib/sqreen/web_server/generic.rb,
lib/sqreen/web_server/unicorn.rb,
lib/sqreen/web_server/webrick.rb,
lib/sqreen/web_server/rainbows.rb,
lib/sqreen/web_server/passenger.rb
Defined Under Namespace
Modules: Generic, Passenger, Puma, Rainbows, Thin, Unicorn, WEBrick
Class Method Summary
collapse
Class Method Details
.attach ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/sqreen/web_server.rb', line 19
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
|