8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/crspec/rails/system_server.rb', line 8
def self.start_concurrent_server!(app = nil, port = 9887)
@server_mutex ||= Mutex.new
@server_mutex.synchronize do
return if @running
if defined?(Puma::Server)
rack_app = app || (defined?(::Rails) && ::Rails.respond_to?(:application) ? ::Rails.application : nil)
return unless rack_app
events = defined?(Puma::Events) ? Puma::Events.null : nil
server = Puma::Server.new(rack_app, events, { min_threads: 1, max_threads: Etc.nprocessors })
server.add_tcp_listener("127.0.0.1", port)
Thread.new { server.run }
end
@running = true
end
end
|