rails_autoscale_agent 0.9.0.beta.2 → 0.9.0.beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 998351ab2e804fc443d63825d3a71255d6539f225ef791a4819391d735d29e51
4
- data.tar.gz: 83df02c312d3fd2a1504c782b699c6ac5e26444145ff885ecff808ebf2a9cfc3
3
+ metadata.gz: 70253908c027308ec4d19c9b41eeed033759e6669eace3301925a65a64748447
4
+ data.tar.gz: 199e75a27f4708920b47964cbc75e2b705ddce88508c35fd614512bb9bfcfd5e
5
5
  SHA512:
6
- metadata.gz: 6a34893873a4fc6b926e93d89002b3527f8adce615f97d1694753995df89666cfea3c37f55d435011edbe3e6c39928f835d7594c79cd310feb2267bfc1bbb1fa
7
- data.tar.gz: 00b6943d706c93e1d93dc01259d6982618083b0d7359b212eb0187c26edac6f979a11c0c7a387671d60f80a6eb1ef13e74f5182b9f92b814dc01cd9d0f8c5b6b
6
+ metadata.gz: af5043f8402b40c15b5efe0be205e0e4c6107b8d05ea7126ccfa445c28679567c7e0f15e2a01eb2b7e107c95d3802543c48f428c31f70be823953173cd903ae1
7
+ data.tar.gz: 1fcfa15d0c76a8f1abf38653890d6b2157fd2e4edfc2ac072eb198897ab09029ea3f1c83ee11620e13a1a07a379695d7913c5bed89ce51e1907451367e61b1df
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAutoscaleAgent
4
- VERSION = "0.9.0.beta.2"
4
+ VERSION = "0.9.0.beta.4"
5
5
  end
@@ -8,6 +8,8 @@ module RailsAutoscaleAgent
8
8
  include RailsAutoscaleAgent::Logger
9
9
  include Singleton
10
10
 
11
+ UNNAMED_QUEUE = '[unnamed]'
12
+
11
13
  class << self
12
14
  attr_accessor :queues
13
15
  end
@@ -26,18 +28,20 @@ module RailsAutoscaleAgent
26
28
 
27
29
  def collect!(store)
28
30
  log_msg = String.new
29
- t = Time.now
31
+ t = Time.now.utc
32
+ db_time = t.strftime('%Y-%m-%d %H:%M:%S')
30
33
 
31
34
  # Ignore failed jobs (they skew latency measurement due to the original run_at)
32
- sql = 'SELECT queue, min(run_at) FROM delayed_jobs WHERE attempts = 0 GROUP BY queue'
35
+ sql = "SELECT queue, min(run_at) FROM delayed_jobs WHERE run_at < '#{db_time}' AND locked_at IS NULL AND failed_at IS NULL GROUP BY queue"
33
36
  run_at_by_queue = Hash[ActiveRecord::Base.connection.select_rows(sql)]
34
37
  queues = self.class.queues | run_at_by_queue.keys
35
38
 
36
39
  queues.each do |queue|
37
- next if queue.nil? || queue.empty?
38
40
  run_at = run_at_by_queue[queue]
39
41
  run_at = Time.parse(run_at) if run_at.is_a?(String)
40
42
  latency_ms = run_at ? ((t - run_at)*1000).ceil : 0
43
+
44
+ queue = UNNAMED_QUEUE if queue.nil? || queue.empty?
41
45
  store.push latency_ms, t, queue
42
46
  log_msg << "dj.#{queue}=#{latency_ms} "
43
47
  end
@@ -9,6 +9,7 @@ module RailsAutoscaleAgent
9
9
  include RailsAutoscaleAgent::Logger
10
10
  include Singleton
11
11
 
12
+ UNNAMED_QUEUE = '[unnamed]'
12
13
  DEFAULT_QUEUES = ['default']
13
14
 
14
15
  class << self
@@ -33,10 +34,11 @@ module RailsAutoscaleAgent
33
34
  self.class.queues |= run_at_by_queue.keys
34
35
 
35
36
  self.class.queues.each do |queue|
36
- next if queue.nil? || queue.empty?
37
37
  run_at = run_at_by_queue[queue]
38
38
  run_at = Time.parse(run_at) if run_at.is_a?(String)
39
39
  latency_ms = run_at ? ((t - run_at)*1000).ceil : 0
40
+
41
+ queue = UNNAMED_QUEUE if queue.nil? || queue.empty?
40
42
  store.push latency_ms, t, queue
41
43
  log_msg << "que.#{queue}=#{latency_ms} "
42
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_autoscale_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0.beta.2
4
+ version: 0.9.0.beta.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam McCrea
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-10 00:00:00.000000000 Z
11
+ date: 2020-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
221
  - !ruby/object:Gem::Version
222
222
  version: 1.3.1
223
223
  requirements: []
224
- rubygems_version: 3.0.3
224
+ rubygems_version: 3.1.4
225
225
  signing_key:
226
226
  specification_version: 4
227
227
  summary: This gem works with the Rails Autoscale Heroku add-on to automatically scale