# File lib/phusion_passenger/rack/out_of_band_gc.rb, line 30 def initialize(app, frequency, logger = nil) @app = app @frequency = frequency @request_count = 0 @mutex = Mutex.new ::PhusionPassenger.on_event(:oob_work) do t0 = Time.now disabled = GC.enable GC.start GC.disable if disabled logger.info "Out Of Band GC finished in #{Time.now - t0} sec" if logger end end
# File lib/phusion_passenger/rack/out_of_band_gc.rb, line 45 def call(env) status, headers, body = @app.call(env) @mutex.synchronize do @request_count += 1 if @request_count == @frequency @request_count = 0 headers['X-Passenger-Request-OOB-Work'] = 'true' end end [status, headers, body] end
Generated with the Darkfish Rdoc Generator 2.