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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70253908c027308ec4d19c9b41eeed033759e6669eace3301925a65a64748447
|
4
|
+
data.tar.gz: 199e75a27f4708920b47964cbc75e2b705ddce88508c35fd614512bb9bfcfd5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af5043f8402b40c15b5efe0be205e0e4c6107b8d05ea7126ccfa445c28679567c7e0f15e2a01eb2b7e107c95d3802543c48f428c31f70be823953173cd903ae1
|
7
|
+
data.tar.gz: 1fcfa15d0c76a8f1abf38653890d6b2157fd2e4edfc2ac072eb198897ab09029ea3f1c83ee11620e13a1a07a379695d7913c5bed89ce51e1907451367e61b1df
|
@@ -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 =
|
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.
|
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-
|
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.
|
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
|