Sha256: a40310d17fcd321f06e7234b4537d3b1a9beb9dfe432e19dccbebb6de24c875d
Contents?: true
Size: 1017 Bytes
Versions: 1
Compression:
Stored size: 1017 Bytes
Contents
module NimbleNodes class Report def self.path "/#{ENV['NN_APP_NAME']}/dynos/reports.json" end def initialize(env) @dynos_in_use = env['HTTP_X_HEROKU_DYNOS_IN_USE'].to_i @request_queue_depth = env['HTTP_X_HEROKU_QUEUE_DEPTH'].to_i end def post params = { :dynos_in_use => @dynos_in_use, :request_queue_size => @request_queue_depth } NimbleNodes::Server.post(self.class.path, params) end def post? return true return false if ENV['NN_APP_PAUSED_AT'] dynos_maxed_out? or queue_depth_too_long? or unused_dynos? end def dynos_maxed_out? return false if @dynos_in_use.nil? @dynos_in_use >= Dynos.max end def queue_depth_too_long? return false if @request_queue_depth.nil? @request_queue_depth > Dynos.max_request_queue end def unused_dynos? return false if @dynos_in_use.nil? @dynos_in_use < Dynos.size end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nimble_nodes-0.1.7 | lib/nimble_nodes/report.rb |