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:
38 39 40 41 42 43 44 |
# File 'lib/pitchfork/http_server.rb', line 38 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:
36 37 38 |
# File 'lib/pitchfork/http_server.rb', line 36 def rack_env=(value) @rack_env = value end |
#timeout_request=(value) ⇒ Object (writeonly)
:nodoc:
36 37 38 |
# File 'lib/pitchfork/http_server.rb', line 36 def timeout_request=(value) @timeout_request = value end |
Instance Method Details
#call(original_thread) ⇒ Object
:nodoc:
50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/pitchfork/http_server.rb', line 50 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
66 67 68 |
# File 'lib/pitchfork/http_server.rb', line 66 def deadline @timeout_request.deadline end |
#extend_deadline(extra_time) ⇒ Object
70 71 72 73 74 75 |
# File 'lib/pitchfork/http_server.rb', line 70 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:
62 63 64 |
# File 'lib/pitchfork/http_server.rb', line 62 def finished # :nodoc: @timeout_request.finished end |
#inspect ⇒ Object
46 47 48 |
# File 'lib/pitchfork/http_server.rb', line 46 def inspect "#<Pitchfork::HttpServer::TimeoutHandler##{object_id}>" end |