judoscale-resque 1.0.0.rc1 → 1.0.0.rc2
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 +4 -4
- data/Gemfile.lock +12 -12
- data/judoscale-resque.gemspec +6 -1
- data/lib/judoscale/resque/latency_extension.rb +23 -0
- data/lib/judoscale/resque/metrics_collector.rb +5 -2
- data/lib/judoscale/resque/version.rb +1 -1
- data/lib/judoscale/resque.rb +8 -6
- metadata +8 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7caf083d01edd33b3a09c0d8e34dd3365936f609929c45d87273be58dc8d9132
|
|
4
|
+
data.tar.gz: 5e58f3b635f98efcd2d0c2ba48d12bdb539abfb6261dde72780f306cf215ecf0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cba7a62dc8a424f07d614ce916cf12867e53516c50ef677b56c2ec258caeba5f15ddfff3ed18b359c891bc3d5431501653aecf5fc9ba0e1b56b8c671d24bca7c
|
|
7
|
+
data.tar.gz: 0b45c55b28902393973c42758dfbe9b52f5e2b45acda2ed46592e7548f264ed9612da73ce10803daefaa1fde7f86816e25125588ca0135dc4226ae692b4e9eeb
|
data/Gemfile.lock
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ../judoscale-ruby
|
|
3
3
|
specs:
|
|
4
|
-
judoscale-ruby (1.0.0.
|
|
4
|
+
judoscale-ruby (1.0.0.rc2)
|
|
5
5
|
|
|
6
6
|
PATH
|
|
7
7
|
remote: .
|
|
8
8
|
specs:
|
|
9
|
-
judoscale-resque (1.0.0.
|
|
9
|
+
judoscale-resque (1.0.0.rc2)
|
|
10
10
|
judoscale-ruby
|
|
11
11
|
resque (>= 2.0)
|
|
12
12
|
|
|
@@ -16,27 +16,27 @@ GEM
|
|
|
16
16
|
minitest (5.15.0)
|
|
17
17
|
mono_logger (1.1.1)
|
|
18
18
|
multi_json (1.15.0)
|
|
19
|
-
mustermann (
|
|
19
|
+
mustermann (2.0.2)
|
|
20
20
|
ruby2_keywords (~> 0.0.1)
|
|
21
|
-
rack (2.2.
|
|
22
|
-
rack-protection (2.2.
|
|
21
|
+
rack (2.2.4)
|
|
22
|
+
rack-protection (2.2.2)
|
|
23
23
|
rack
|
|
24
24
|
rake (13.0.6)
|
|
25
|
-
redis (4.
|
|
26
|
-
redis-namespace (1.
|
|
27
|
-
redis (>=
|
|
25
|
+
redis (4.7.1)
|
|
26
|
+
redis-namespace (1.9.0)
|
|
27
|
+
redis (>= 4)
|
|
28
28
|
resque (2.2.1)
|
|
29
29
|
mono_logger (~> 1.0)
|
|
30
30
|
multi_json (~> 1.0)
|
|
31
31
|
redis-namespace (~> 1.6)
|
|
32
32
|
sinatra (>= 0.9.2)
|
|
33
33
|
ruby2_keywords (0.0.5)
|
|
34
|
-
sinatra (2.2.
|
|
35
|
-
mustermann (~>
|
|
34
|
+
sinatra (2.2.2)
|
|
35
|
+
mustermann (~> 2.0)
|
|
36
36
|
rack (~> 2.2)
|
|
37
|
-
rack-protection (= 2.2.
|
|
37
|
+
rack-protection (= 2.2.2)
|
|
38
38
|
tilt (~> 2.0)
|
|
39
|
-
tilt (2.0.
|
|
39
|
+
tilt (2.0.11)
|
|
40
40
|
|
|
41
41
|
PLATFORMS
|
|
42
42
|
arm64-darwin-20
|
data/judoscale-resque.gemspec
CHANGED
|
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
|
8
8
|
spec.authors = ["Adam McCrea", "Carlos Antonio da Silva"]
|
|
9
9
|
spec.email = ["adam@adamlogic.com"]
|
|
10
10
|
|
|
11
|
-
spec.summary = "This gem
|
|
11
|
+
spec.summary = "This gem is deprecated. See https://github.com/rails-autoscale/rails-autoscale-gems to integrate Resque with the Judoscale Heroku add-on."
|
|
12
12
|
spec.homepage = "https://judoscale.com"
|
|
13
13
|
spec.license = "MIT"
|
|
14
14
|
|
|
@@ -27,4 +27,9 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
|
|
28
28
|
spec.add_dependency "judoscale-ruby"
|
|
29
29
|
spec.add_dependency "resque", ">= 2.0"
|
|
30
|
+
|
|
31
|
+
spec.post_install_message = <<~EOS
|
|
32
|
+
`judoscale-resque` is deprecated! Please migrate to `rails-autoscale-resque`.
|
|
33
|
+
See https://github.com/rails-autoscale/rails-autoscale-gems for the installation guide.
|
|
34
|
+
EOS
|
|
30
35
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Judoscale
|
|
2
|
+
module Resque
|
|
3
|
+
module LatencyExtension
|
|
4
|
+
# Store the time when jobs are pushed to the queue in order to calculate latency.
|
|
5
|
+
def push(queue, item)
|
|
6
|
+
item["timestamp"] = Time.now.utc.to_f
|
|
7
|
+
super
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Calculate latency for the given queue using the stored timestamp of the oldest item in the queue.
|
|
11
|
+
def latency(queue)
|
|
12
|
+
if (item = peek(queue))
|
|
13
|
+
timestamp = item["timestamp"]
|
|
14
|
+
timestamp ? Time.now.utc.to_f - timestamp.to_f : 0.0
|
|
15
|
+
else
|
|
16
|
+
0.0
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
::Resque.extend(Judoscale::Resque::LatencyExtension)
|
|
@@ -6,8 +6,8 @@ require "judoscale/metric"
|
|
|
6
6
|
module Judoscale
|
|
7
7
|
module Resque
|
|
8
8
|
class MetricsCollector < Judoscale::JobMetricsCollector
|
|
9
|
-
def self.
|
|
10
|
-
|
|
9
|
+
def self.adapter_config
|
|
10
|
+
Judoscale::Config.instance.resque
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def collect
|
|
@@ -29,7 +29,10 @@ module Judoscale
|
|
|
29
29
|
queues.each do |queue|
|
|
30
30
|
next if queue.nil? || queue.empty?
|
|
31
31
|
depth = ::Resque.size(queue)
|
|
32
|
+
latency = (::Resque.latency(queue) * 1000).ceil
|
|
33
|
+
|
|
32
34
|
metrics.push Metric.new(:qd, depth, Time.now, queue)
|
|
35
|
+
metrics.push Metric.new(:qt, latency, Time.now, queue)
|
|
33
36
|
|
|
34
37
|
if track_busy_jobs?
|
|
35
38
|
busy_count = busy_counts[queue]
|
data/lib/judoscale/resque.rb
CHANGED
|
@@ -5,10 +5,12 @@ require "judoscale/config"
|
|
|
5
5
|
require "judoscale/resque/version"
|
|
6
6
|
require "judoscale/resque/metrics_collector"
|
|
7
7
|
require "resque"
|
|
8
|
+
require "judoscale/resque/latency_extension"
|
|
8
9
|
|
|
9
|
-
Judoscale.add_adapter :"judoscale-resque",
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
Judoscale.add_adapter :"judoscale-resque",
|
|
11
|
+
{
|
|
12
|
+
adapter_version: Judoscale::Resque::VERSION,
|
|
13
|
+
framework_version: ::Resque::VERSION
|
|
14
|
+
},
|
|
15
|
+
metrics_collector: Judoscale::Resque::MetricsCollector,
|
|
16
|
+
expose_config: Judoscale::Config::JobAdapterConfig.new(:resque)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: judoscale-resque
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.0.
|
|
4
|
+
version: 1.0.0.rc2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adam McCrea
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2022-
|
|
12
|
+
date: 2022-09-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: judoscale-ruby
|
|
@@ -52,6 +52,7 @@ files:
|
|
|
52
52
|
- judoscale-resque.gemspec
|
|
53
53
|
- lib/judoscale-resque.rb
|
|
54
54
|
- lib/judoscale/resque.rb
|
|
55
|
+
- lib/judoscale/resque/latency_extension.rb
|
|
55
56
|
- lib/judoscale/resque/metrics_collector.rb
|
|
56
57
|
- lib/judoscale/resque/version.rb
|
|
57
58
|
homepage: https://judoscale.com
|
|
@@ -63,7 +64,9 @@ metadata:
|
|
|
63
64
|
documentation_uri: https://judoscale.com/docs
|
|
64
65
|
changelog_uri: https://github.com/judoscale/judoscale-ruby/blob/main/CHANGELOG.md
|
|
65
66
|
source_code_uri: https://github.com/judoscale/judoscale-ruby
|
|
66
|
-
post_install_message:
|
|
67
|
+
post_install_message: |
|
|
68
|
+
`judoscale-resque` is deprecated! Please migrate to `rails-autoscale-resque`.
|
|
69
|
+
See https://github.com/rails-autoscale/rails-autoscale-gems for the installation guide.
|
|
67
70
|
rdoc_options: []
|
|
68
71
|
require_paths:
|
|
69
72
|
- lib
|
|
@@ -81,6 +84,6 @@ requirements: []
|
|
|
81
84
|
rubygems_version: 3.2.32
|
|
82
85
|
signing_key:
|
|
83
86
|
specification_version: 4
|
|
84
|
-
summary: This gem
|
|
85
|
-
|
|
87
|
+
summary: This gem is deprecated. See https://github.com/rails-autoscale/rails-autoscale-gems
|
|
88
|
+
to integrate Resque with the Judoscale Heroku add-on.
|
|
86
89
|
test_files: []
|