Sha256: 7bd970646076a6a51b471fcc6282caabf1e9dcaaa61e435db303f10407397e4c
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
require "eventmachine" require "amqp/utilities/server_type" module AMQP module Utilities class EventLoopHelper def self.eventmachine_thread @eventmachine_thread end # self.eventmachine_thread def self.reactor_running? EventMachine.reactor_running? end # self.reactor_running? def self.server_type @server_type ||= ServerType.detect end # self.server_type def self.run(in_a_worker_process = false) # TODO: make reentrant @eventmachine_thread = case self.server_type when :thin, :goliath, :evented_mongrel then Thread.current when :unicorn, :passenger then EventMachine.stop if in_a_worker_process t = Thread.new { EventMachine.run } # give EventMachine reactor some time to start sleep(0.25) t when :mongrel, :scgi, :webrick, nil then t = Thread.new { EventMachine.run } # give EventMachine reactor some time to start sleep(0.25) t end end # self.run def self.stop EventMachine.stop end end # EventLoopHelper end # Utilities end # AMQP
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
amqp-0.8.0.rc8 | lib/amqp/utilities/event_loop_helper.rb |