judoscale-ruby 1.0.0.rc2 → 1.1.1
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 +3 -1
- data/Gemfile.lock +17 -5
- data/Rakefile +1 -1
- data/lib/{judoscale-ruby.rb → rails-autoscale-core.rb} +8 -6
- data/lib/{judoscale → rails_autoscale}/adapter_api.rb +12 -2
- data/lib/{judoscale → rails_autoscale}/config.rb +9 -6
- data/lib/{judoscale → rails_autoscale}/job_metrics_collector/active_record_helper.rb +2 -2
- data/lib/{judoscale → rails_autoscale}/job_metrics_collector.rb +4 -4
- data/lib/{judoscale → rails_autoscale}/logger.rb +10 -9
- data/lib/{judoscale → rails_autoscale}/metric.rb +1 -1
- data/lib/{judoscale → rails_autoscale}/metrics_collector.rb +1 -1
- data/lib/{judoscale → rails_autoscale}/metrics_store.rb +3 -3
- data/lib/{judoscale → rails_autoscale}/report.rb +1 -1
- data/lib/{judoscale → rails_autoscale}/reporter.rb +9 -9
- data/lib/{judoscale → rails_autoscale}/request_metrics.rb +2 -2
- data/lib/{judoscale → rails_autoscale}/request_middleware.rb +7 -7
- data/lib/rails_autoscale/version.rb +5 -0
- data/lib/{judoscale → rails_autoscale}/web_metrics_collector.rb +3 -3
- data/rails-autoscale-core.gemspec +27 -0
- metadata +24 -26
- data/judoscale-ruby.gemspec +0 -32
- data/lib/judoscale/version.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06d6051251ff5f628677d931e240a35ce4f93ec8409d3e9ba8e539ec300a96d6
|
4
|
+
data.tar.gz: ce94920cc35eff9f6cf328df39c84e2f0a25bd681422ab8111434311ba33cbc4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21110c610a6619f3750901aade4e3a2bef813d16cfb78956225972d7b57f5769769419dcd0bf2a5d1933bf8e0760601ae35cc81d0b84078bd4232f4fadacca1d
|
7
|
+
data.tar.gz: f5f7f33785b2f0554907abce78bc0e6e10dd1e2ebf773e2b5ae9fb366fa30a024de89477ee542b43c2ac09e7fcae49db944bfe879529ae0beb2dbc652f4051c5
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,21 +1,31 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
judoscale-ruby (1.
|
4
|
+
judoscale-ruby (1.1.1)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
addressable (2.8.
|
10
|
-
public_suffix (>= 2.0.2, <
|
9
|
+
addressable (2.8.1)
|
10
|
+
public_suffix (>= 2.0.2, < 6.0)
|
11
11
|
crack (0.4.5)
|
12
12
|
rexml
|
13
|
+
debug (1.4.0)
|
14
|
+
irb (>= 1.3.6)
|
15
|
+
reline (>= 0.2.7)
|
13
16
|
hashdiff (1.0.1)
|
17
|
+
io-console (0.5.11)
|
18
|
+
irb (1.4.1)
|
19
|
+
reline (>= 0.3.0)
|
14
20
|
minitest (5.15.0)
|
15
|
-
public_suffix (
|
21
|
+
public_suffix (5.0.0)
|
16
22
|
rake (13.0.6)
|
23
|
+
rake-release (1.3.0)
|
24
|
+
bundler (>= 1.11, < 3)
|
25
|
+
reline (0.3.1)
|
26
|
+
io-console (~> 0.5)
|
17
27
|
rexml (3.2.5)
|
18
|
-
webmock (3.
|
28
|
+
webmock (3.18.1)
|
19
29
|
addressable (>= 2.8.0)
|
20
30
|
crack (>= 0.3.2)
|
21
31
|
hashdiff (>= 0.4.0, < 2.0.0)
|
@@ -27,9 +37,11 @@ PLATFORMS
|
|
27
37
|
x86_64-linux
|
28
38
|
|
29
39
|
DEPENDENCIES
|
40
|
+
debug
|
30
41
|
judoscale-ruby!
|
31
42
|
minitest
|
32
43
|
rake (>= 12.3.3)
|
44
|
+
rake-release
|
33
45
|
webmock
|
34
46
|
|
35
47
|
BUNDLED WITH
|
data/Rakefile
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
4
|
-
require "
|
3
|
+
require "rails_autoscale/config"
|
4
|
+
require "rails_autoscale/version"
|
5
5
|
|
6
|
-
module
|
7
|
-
# Allows configuring
|
6
|
+
module RailsAutoscale
|
7
|
+
# Allows configuring Rails Autoscale through a block, usually defined during application initialization.
|
8
8
|
#
|
9
9
|
# Example:
|
10
10
|
#
|
11
|
-
#
|
11
|
+
# RailsAutoscale.configure do |config|
|
12
12
|
# config.logger = MyLogger.new
|
13
13
|
# end
|
14
14
|
def self.configure
|
@@ -31,8 +31,10 @@ module Judoscale
|
|
31
31
|
@adapters << Adapter.new(identifier, adapter_info, metrics_collector)
|
32
32
|
end
|
33
33
|
|
34
|
-
add_adapter :"
|
34
|
+
add_adapter :"rails-autoscale-core", {
|
35
35
|
adapter_version: VERSION,
|
36
36
|
language_version: RUBY_VERSION
|
37
37
|
}
|
38
38
|
end
|
39
|
+
|
40
|
+
Judoscale = RailsAutoscale
|
@@ -3,9 +3,9 @@
|
|
3
3
|
require "net/http"
|
4
4
|
require "uri"
|
5
5
|
require "json"
|
6
|
-
require "
|
6
|
+
require "rails_autoscale/logger"
|
7
7
|
|
8
|
-
module
|
8
|
+
module RailsAutoscale
|
9
9
|
class AdapterApi
|
10
10
|
include Logger
|
11
11
|
|
@@ -27,6 +27,7 @@ module Judoscale
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def post_raw(options)
|
30
|
+
attempts ||= 1
|
30
31
|
uri = URI.parse("#{@config.api_base_url}#{options.fetch(:path)}")
|
31
32
|
ssl = uri.scheme == "https"
|
32
33
|
|
@@ -42,6 +43,15 @@ module Judoscale
|
|
42
43
|
when 200...300 then SuccessResponse.new(response.body)
|
43
44
|
else FailureResponse.new([response.code, response.message].join(" - "))
|
44
45
|
end
|
46
|
+
rescue Net::OpenTimeout
|
47
|
+
if attempts < 3
|
48
|
+
# TCP timeouts happen sometimes, but they can usually be successfully retried in a moment
|
49
|
+
sleep 0.01
|
50
|
+
attempts += 1
|
51
|
+
retry
|
52
|
+
else
|
53
|
+
FailureResponse.new("Timeout while obtaining TCP connection to #{uri.host}")
|
54
|
+
end
|
45
55
|
end
|
46
56
|
|
47
57
|
class SuccessResponse < Struct.new(:body)
|
@@ -3,7 +3,7 @@
|
|
3
3
|
require "singleton"
|
4
4
|
require "logger"
|
5
5
|
|
6
|
-
module
|
6
|
+
module RailsAutoscale
|
7
7
|
class Config
|
8
8
|
class Dyno
|
9
9
|
attr_reader :name, :num
|
@@ -31,10 +31,12 @@ module Judoscale
|
|
31
31
|
|
32
32
|
def reset
|
33
33
|
@enabled = true
|
34
|
-
@max_queues = 20
|
35
34
|
@queues = []
|
36
35
|
@queue_filter = DEFAULT_QUEUE_FILTER
|
37
|
-
|
36
|
+
|
37
|
+
# Support for deprecated legacy env var configs.
|
38
|
+
@max_queues = (ENV["RAILS_AUTOSCALE_MAX_QUEUES"] || 20).to_i
|
39
|
+
@track_busy_jobs = ENV["RAILS_AUTOSCALE_LONG_JOBS"] == "true"
|
38
40
|
end
|
39
41
|
|
40
42
|
def as_json
|
@@ -64,7 +66,7 @@ module Judoscale
|
|
64
66
|
end
|
65
67
|
end
|
66
68
|
|
67
|
-
attr_accessor :api_base_url, :report_interval_seconds, :max_request_size_bytes, :logger
|
69
|
+
attr_accessor :api_base_url, :report_interval_seconds, :max_request_size_bytes, :logger, :log_tag
|
68
70
|
attr_reader :dyno, :log_level
|
69
71
|
|
70
72
|
def initialize
|
@@ -73,11 +75,12 @@ module Judoscale
|
|
73
75
|
|
74
76
|
def reset
|
75
77
|
# Allow the API URL to be configured - needed for testing.
|
76
|
-
@api_base_url = ENV["JUDOSCALE_URL"]
|
78
|
+
@api_base_url = ENV["RAILS_AUTOSCALE_URL"] || ENV["JUDOSCALE_URL"]
|
79
|
+
@log_tag = ENV["JUDOSCALE_URL"] ? "Judoscale" : "RailsAutoscale"
|
77
80
|
self.dyno = ENV["DYNO"]
|
78
81
|
@max_request_size_bytes = 100_000 # ignore request payloads over 100k since they skew the queue times
|
79
82
|
@report_interval_seconds = 10
|
80
|
-
self.log_level = ENV["JUDOSCALE_LOG_LEVEL"]
|
83
|
+
self.log_level = ENV["RAILS_AUTOSCALE_LOG_LEVEL"] || ENV["JUDOSCALE_LOG_LEVEL"]
|
81
84
|
@logger = ::Logger.new($stdout)
|
82
85
|
|
83
86
|
self.class.adapter_configs.each(&:reset)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
3
|
+
module RailsAutoscale
|
4
4
|
class JobMetricsCollector
|
5
5
|
module ActiveRecordHelper
|
6
6
|
# Cleanup any whitespace characters (including new lines) from the SQL for simpler logging.
|
@@ -24,7 +24,7 @@ module Judoscale
|
|
24
24
|
|
25
25
|
def select_rows_tagged(sql)
|
26
26
|
if ActiveRecord::Base.logger.respond_to?(:tagged)
|
27
|
-
ActiveRecord::Base.logger.tagged(
|
27
|
+
ActiveRecord::Base.logger.tagged(Config.instance.log_tag) { select_rows(sql) }
|
28
28
|
else
|
29
29
|
select_rows(sql)
|
30
30
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "set"
|
4
|
-
require "
|
5
|
-
require "
|
4
|
+
require "rails_autoscale/metrics_collector"
|
5
|
+
require "rails_autoscale/logger"
|
6
6
|
|
7
|
-
module
|
7
|
+
module RailsAutoscale
|
8
8
|
class JobMetricsCollector < MetricsCollector
|
9
|
-
include
|
9
|
+
include RailsAutoscale::Logger
|
10
10
|
|
11
11
|
# It's redundant to report these metrics from every dyno, so only report from the first one.
|
12
12
|
def self.collect?(config)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
3
|
+
require "rails_autoscale/config"
|
4
4
|
require "logger"
|
5
5
|
|
6
|
-
module
|
6
|
+
module RailsAutoscale
|
7
7
|
module Logger
|
8
8
|
def logger
|
9
9
|
@logger ||= LoggerProxy.new(Config.instance.logger, Config.instance.log_level)
|
@@ -11,19 +11,20 @@ module Judoscale
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class LoggerProxy < Struct.new(:logger, :log_level)
|
14
|
-
|
15
|
-
|
16
|
-
%w[ERROR WARN INFO DEBUG].each do |severity_name|
|
14
|
+
%w[ERROR WARN INFO DEBUG FATAL].each do |severity_name|
|
17
15
|
severity_level = ::Logger::Severity.const_get(severity_name)
|
18
16
|
|
19
17
|
define_method(severity_name.downcase) do |*messages|
|
20
18
|
if log_level.nil?
|
21
|
-
logger.
|
19
|
+
logger.public_send(severity_name.downcase) { tag(messages) }
|
22
20
|
elsif severity_level >= log_level
|
23
21
|
if severity_level >= logger.level
|
24
|
-
logger.
|
22
|
+
logger.public_send(severity_name.downcase) { tag(messages) }
|
25
23
|
else
|
26
|
-
logger
|
24
|
+
# Our logger proxy is configured with a lower severity level than the underlying logger,
|
25
|
+
# so send this message using the underlying logger severity instead of the actual severity.
|
26
|
+
logger_severity_name = ::Logger::SEV_LABEL[logger.level].downcase
|
27
|
+
logger.public_send(logger_severity_name) { tag(messages, tag_level: severity_name) }
|
27
28
|
end
|
28
29
|
end
|
29
30
|
end
|
@@ -32,7 +33,7 @@ module Judoscale
|
|
32
33
|
private
|
33
34
|
|
34
35
|
def tag(msgs, tag_level: nil)
|
35
|
-
tag = +"[#{
|
36
|
+
tag = +"[#{Config.instance.log_tag}]"
|
36
37
|
tag << " [#{tag_level}]" if tag_level
|
37
38
|
msgs.map { |msg| "#{tag} #{msg}" }.join("\n")
|
38
39
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "singleton"
|
4
|
-
require "
|
5
|
-
require "
|
4
|
+
require "rails_autoscale/metric"
|
5
|
+
require "rails_autoscale/report"
|
6
6
|
|
7
|
-
module
|
7
|
+
module RailsAutoscale
|
8
8
|
class MetricsStore
|
9
9
|
include Singleton
|
10
10
|
|
@@ -1,18 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "singleton"
|
4
|
-
require "
|
5
|
-
require "
|
6
|
-
require "
|
7
|
-
require "
|
8
|
-
require "
|
4
|
+
require "rails_autoscale/config"
|
5
|
+
require "rails_autoscale/logger"
|
6
|
+
require "rails_autoscale/adapter_api"
|
7
|
+
require "rails_autoscale/job_metrics_collector"
|
8
|
+
require "rails_autoscale/web_metrics_collector"
|
9
9
|
|
10
|
-
module
|
10
|
+
module RailsAutoscale
|
11
11
|
class Reporter
|
12
12
|
include Singleton
|
13
13
|
include Logger
|
14
14
|
|
15
|
-
def self.start(config = Config.instance, adapters =
|
15
|
+
def self.start(config = Config.instance, adapters = RailsAutoscale.adapters)
|
16
16
|
instance.start!(config, adapters) unless instance.started?
|
17
17
|
end
|
18
18
|
|
@@ -20,7 +20,7 @@ module Judoscale
|
|
20
20
|
@pid = Process.pid
|
21
21
|
|
22
22
|
if !config.api_base_url
|
23
|
-
logger.info "Reporter not started:
|
23
|
+
logger.info "Reporter not started: RAILS_AUTOSCALE_URL is not set"
|
24
24
|
return
|
25
25
|
end
|
26
26
|
|
@@ -76,7 +76,7 @@ module Judoscale
|
|
76
76
|
private
|
77
77
|
|
78
78
|
def report(config, metrics)
|
79
|
-
report = Report.new(
|
79
|
+
report = Report.new(RailsAutoscale.adapters, config, metrics)
|
80
80
|
logger.info "Reporting #{report.metrics.size} metrics"
|
81
81
|
result = AdapterApi.new(config).report_metrics(report.as_json)
|
82
82
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
3
|
+
module RailsAutoscale
|
4
4
|
class RequestMetrics
|
5
5
|
attr_reader :request_id, :size, :network_time
|
6
6
|
|
@@ -36,7 +36,7 @@ module Judoscale
|
|
36
36
|
queue_time -= network_time
|
37
37
|
|
38
38
|
# Safeguard against negative queue times (should not happen in practice)
|
39
|
-
queue_time > 0 ? queue_time : 0
|
39
|
+
(queue_time > 0) ? queue_time : 0
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
4
|
-
require "
|
5
|
-
require "
|
6
|
-
require "
|
3
|
+
require "rails_autoscale/metrics_store"
|
4
|
+
require "rails_autoscale/reporter"
|
5
|
+
require "rails_autoscale/logger"
|
6
|
+
require "rails_autoscale/request_metrics"
|
7
7
|
|
8
|
-
module
|
8
|
+
module RailsAutoscale
|
9
9
|
class RequestMiddleware
|
10
10
|
include Logger
|
11
11
|
|
@@ -27,11 +27,11 @@ module Judoscale
|
|
27
27
|
store = MetricsStore.instance
|
28
28
|
|
29
29
|
# NOTE: Expose queue time to the app
|
30
|
-
env["
|
30
|
+
env["rails_autoscale.queue_time"] = queue_time
|
31
31
|
store.push :qt, queue_time
|
32
32
|
|
33
33
|
unless network_time.zero?
|
34
|
-
env["
|
34
|
+
env["rails_autoscale.network_time"] = network_time
|
35
35
|
store.push :nt, network_time
|
36
36
|
end
|
37
37
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
4
|
-
require "
|
3
|
+
require "rails_autoscale/metrics_collector"
|
4
|
+
require "rails_autoscale/metrics_store"
|
5
5
|
|
6
|
-
module
|
6
|
+
module RailsAutoscale
|
7
7
|
class WebMetricsCollector < MetricsCollector
|
8
8
|
def self.collect?(config)
|
9
9
|
config.dyno.name == "web"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require "rails_autoscale/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "rails-autoscale-core"
|
7
|
+
spec.version = RailsAutoscale::VERSION
|
8
|
+
spec.authors = ["Adam McCrea", "Carlos Antonio da Silva"]
|
9
|
+
spec.email = ["adam@adamlogic.com"]
|
10
|
+
|
11
|
+
spec.summary = "This gem works with the Rails Autoscale Heroku add-on to automatically scale your web and worker dynos."
|
12
|
+
spec.homepage = "https://railsautoscale.com"
|
13
|
+
spec.license = "MIT"
|
14
|
+
|
15
|
+
spec.metadata = {
|
16
|
+
"homepage_uri" => "https://railsautoscale.com",
|
17
|
+
"bug_tracker_uri" => "https://github.com/rails-autoscale/rails-autoscale-gems/issues",
|
18
|
+
"documentation_uri" => "https://railsautoscale.com/docs",
|
19
|
+
"changelog_uri" => "https://github.com/rails-autoscale/rails-autoscale-gems/blob/main/CHANGELOG.md",
|
20
|
+
"source_code_uri" => "https://github.com/rails-autoscale/rails-autoscale-gems"
|
21
|
+
}
|
22
|
+
|
23
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
24
|
+
spec.require_paths = ["lib"]
|
25
|
+
|
26
|
+
spec.required_ruby_version = ">= 2.6.0"
|
27
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: judoscale-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
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-11-23 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description:
|
15
15
|
email:
|
@@ -21,34 +21,32 @@ files:
|
|
21
21
|
- Gemfile
|
22
22
|
- Gemfile.lock
|
23
23
|
- Rakefile
|
24
|
-
-
|
25
|
-
- lib/
|
26
|
-
- lib/
|
27
|
-
- lib/
|
28
|
-
- lib/
|
29
|
-
- lib/
|
30
|
-
- lib/
|
31
|
-
- lib/
|
32
|
-
- lib/
|
33
|
-
- lib/
|
34
|
-
- lib/
|
35
|
-
- lib/
|
36
|
-
- lib/
|
37
|
-
- lib/
|
38
|
-
- lib/
|
39
|
-
-
|
24
|
+
- lib/rails-autoscale-core.rb
|
25
|
+
- lib/rails_autoscale/adapter_api.rb
|
26
|
+
- lib/rails_autoscale/config.rb
|
27
|
+
- lib/rails_autoscale/job_metrics_collector.rb
|
28
|
+
- lib/rails_autoscale/job_metrics_collector/active_record_helper.rb
|
29
|
+
- lib/rails_autoscale/logger.rb
|
30
|
+
- lib/rails_autoscale/metric.rb
|
31
|
+
- lib/rails_autoscale/metrics_collector.rb
|
32
|
+
- lib/rails_autoscale/metrics_store.rb
|
33
|
+
- lib/rails_autoscale/report.rb
|
34
|
+
- lib/rails_autoscale/reporter.rb
|
35
|
+
- lib/rails_autoscale/request_metrics.rb
|
36
|
+
- lib/rails_autoscale/request_middleware.rb
|
37
|
+
- lib/rails_autoscale/version.rb
|
38
|
+
- lib/rails_autoscale/web_metrics_collector.rb
|
39
|
+
- rails-autoscale-core.gemspec
|
40
40
|
homepage: https://judoscale.com
|
41
41
|
licenses:
|
42
42
|
- MIT
|
43
43
|
metadata:
|
44
44
|
homepage_uri: https://judoscale.com
|
45
45
|
bug_tracker_uri: https://github.com/judoscale/judoscale-ruby/issues
|
46
|
-
documentation_uri: https://
|
46
|
+
documentation_uri: https://railsautoscale.com/docs
|
47
47
|
changelog_uri: https://github.com/judoscale/judoscale-ruby/blob/main/CHANGELOG.md
|
48
48
|
source_code_uri: https://github.com/judoscale/judoscale-ruby
|
49
|
-
post_install_message:
|
50
|
-
`judoscale-ruby` is deprecated! Please migrate to `rails-autoscale-core`.
|
51
|
-
See https://github.com/rails-autoscale/rails-autoscale-gems for the installation guide.
|
49
|
+
post_install_message:
|
52
50
|
rdoc_options: []
|
53
51
|
require_paths:
|
54
52
|
- lib
|
@@ -59,13 +57,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
59
57
|
version: 2.6.0
|
60
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
59
|
requirements:
|
62
|
-
- - "
|
60
|
+
- - ">="
|
63
61
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
62
|
+
version: '0'
|
65
63
|
requirements: []
|
66
64
|
rubygems_version: 3.2.32
|
67
65
|
signing_key:
|
68
66
|
specification_version: 4
|
69
|
-
summary: This gem
|
70
|
-
|
67
|
+
summary: This gem works with the Judoscale Heroku add-on to automatically scale your
|
68
|
+
web and worker dynos.
|
71
69
|
test_files: []
|
data/judoscale-ruby.gemspec
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
lib = File.expand_path("../lib", __FILE__)
|
2
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require "judoscale/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = "judoscale-ruby"
|
7
|
-
spec.version = Judoscale::VERSION
|
8
|
-
spec.authors = ["Adam McCrea", "Carlos Antonio da Silva"]
|
9
|
-
spec.email = ["adam@adamlogic.com"]
|
10
|
-
|
11
|
-
spec.summary = "This gem is deprecated. See https://github.com/rails-autoscale/rails-autoscale-gems to integrate your Ruby app with the Judoscale Heroku add-on."
|
12
|
-
spec.homepage = "https://judoscale.com"
|
13
|
-
spec.license = "MIT"
|
14
|
-
|
15
|
-
spec.metadata = {
|
16
|
-
"homepage_uri" => "https://judoscale.com",
|
17
|
-
"bug_tracker_uri" => "https://github.com/judoscale/judoscale-ruby/issues",
|
18
|
-
"documentation_uri" => "https://judoscale.com/docs",
|
19
|
-
"changelog_uri" => "https://github.com/judoscale/judoscale-ruby/blob/main/CHANGELOG.md",
|
20
|
-
"source_code_uri" => "https://github.com/judoscale/judoscale-ruby"
|
21
|
-
}
|
22
|
-
|
23
|
-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
24
|
-
spec.require_paths = ["lib"]
|
25
|
-
|
26
|
-
spec.required_ruby_version = ">= 2.6.0"
|
27
|
-
|
28
|
-
spec.post_install_message = <<~EOS
|
29
|
-
`judoscale-ruby` is deprecated! Please migrate to `rails-autoscale-core`.
|
30
|
-
See https://github.com/rails-autoscale/rails-autoscale-gems for the installation guide.
|
31
|
-
EOS
|
32
|
-
end
|