Class: Pitchfork::HttpServer::TimeoutHandler
- Inherits:
-
Object
- Object
- Pitchfork::HttpServer::TimeoutHandler
- Defined in:
- lib/pitchfork/http_server.rb
Defined Under Namespace
Classes: Info
Instance Attribute Summary collapse
-
#rack_env ⇒ Object
writeonly
:nodoc:.
-
#timeout_request ⇒ Object
writeonly
:nodoc:.
Instance Method Summary collapse
-
#call(original_thread) ⇒ Object
:nodoc:.
- #deadline ⇒ Object
- #extend_deadline(extra_time) ⇒ Object
-
#finished ⇒ Object
:nodoc:.
-
#initialize(server, worker, callback) ⇒ TimeoutHandler
constructor
:nodoc:.
- #inspect ⇒ Object
Constructor Details
#initialize(server, worker, callback) ⇒ TimeoutHandler
:nodoc:
36 37 38 39 40 41 42 |
# File 'lib/pitchfork/http_server.rb', line 36 def initialize(server, worker, callback) # :nodoc: @server = server @worker = worker @callback = callback @rack_env = nil @timeout_request = nil end |
Instance Attribute Details
#rack_env=(value) ⇒ Object (writeonly)
:nodoc:
34 35 36 |
# File 'lib/pitchfork/http_server.rb', line 34 def rack_env=(value) @rack_env = value end |
#timeout_request=(value) ⇒ Object (writeonly)
:nodoc:
34 35 36 |
# File 'lib/pitchfork/http_server.rb', line 34 def timeout_request=(value) @timeout_request = value end |
Instance Method Details
#call(original_thread) ⇒ Object
:nodoc:
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/pitchfork/http_server.rb', line 48 def call(original_thread) # :nodoc: begin @server.logger.error("worker=#{@worker.nr} pid=#{@worker.pid} timed out, exiting") if @callback @callback.call(@server, @worker, Info.new(original_thread, @rack_env)) end rescue => error Pitchfork.log_error(@server.logger, "after_worker_timeout error", error) end @server.worker_exit(@worker) end |
#deadline ⇒ Object
64 65 66 |
# File 'lib/pitchfork/http_server.rb', line 64 def deadline @timeout_request.deadline end |
#extend_deadline(extra_time) ⇒ Object
68 69 70 71 72 73 |
# File 'lib/pitchfork/http_server.rb', line 68 def extend_deadline(extra_time) extra_time = Integer(extra_time) @worker.deadline += extra_time @timeout_request.extend_deadline(extra_time) self end |
#finished ⇒ Object
:nodoc:
60 61 62 |
# File 'lib/pitchfork/http_server.rb', line 60 def finished # :nodoc: @timeout_request.finished end |
#inspect ⇒ Object
44 45 46 |
# File 'lib/pitchfork/http_server.rb', line 44 def inspect "#<Pitchfork::HttpServer::TimeoutHandler##{object_id}>" end |