rails_autoscale_agent 0.9.0.beta.2 → 0.9.0.beta.4
Sign up to get free protection for your applications and to get access to all the features.
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
|