Module: Sqreen::WebServer::Unicorn

Included in:
Rainbows
Defined in:
lib/sqreen/web_server/unicorn.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.active?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/sqreen/web_server/unicorn.rb', line 9

def self.active?
  Sqreen::Dependency.const_exist?('Unicorn::SocketHelper') && ObjectSpace.each_object(::Unicorn::SocketHelper).count > 0
end

Instance Method Details

#after_forkObject



33
34
35
36
37
38
39
# File 'lib/sqreen/web_server/unicorn.rb', line 33

def after_fork
  after_fork = master.after_fork
  after_fork_wrapper = lambda do |a, b|
    after_fork.call(a, b).tap { yield }
  end
  master.after_fork = after_fork_wrapper
end

#before_forkObject



25
26
27
28
29
30
31
# File 'lib/sqreen/web_server/unicorn.rb', line 25

def before_fork
  before_fork = master.before_fork
  before_fork_wrapper = lambda do |a, b|
    before_fork.call(a, b).tap { yield }
  end
  master.before_fork = before_fork_wrapper
end

#forking?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/sqreen/web_server/unicorn.rb', line 13

def forking?
  true
end

#master?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/sqreen/web_server/unicorn.rb', line 17

def master?
  !master.nil?
end

#preload_app?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/sqreen/web_server/unicorn.rb', line 21

def preload_app?
  ObjectSpace.each_object(::Unicorn::HttpServer).first.preload_app
end