judoscale-ruby 1.6.0 → 1.7.1

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: f2abe20e81129ebfd711272ee0b76533612704e147444efbf7c50669945803ca
4
- data.tar.gz: 49e29c1381f994cab33e9c68274426fcf8fe40486bffb4ce940d938da05b7352
3
+ metadata.gz: f077c92d5dc20a234fde1eb25feb0588dc893ba16c412d97a722a5db8265915c
4
+ data.tar.gz: 84c19264a554e878a33a5653a55e9b36d970ce9f7a40a5f7f303c9e4c40deebf
5
5
  SHA512:
6
- metadata.gz: 444b5c9e06aec1b7c1ea802eea5c202cf32b078d168663e0431e023b498b13d490a4677bd5dba9876836adf228ede65fb60d50b985f8914b06fc652b94617ad5
7
- data.tar.gz: 3bee505922145e6c185677794fc1934414b799f4389a5368fbe37d91af6ccc87dc4480a2657cf69eb46474a8e0167e648b4483040a856fa346aca39be906b59e
6
+ metadata.gz: be9f7e58118b35591634cf8ce62a18725d2a9b4bfd6b69c84ebf45a1c3558b57bd28ba80d5014ac27759689f46a81a70c95f5efb236e8dee23343c9540eb4744
7
+ data.tar.gz: 0b8c377c811282e0d82f70f3b228fca2bc91bfe660fe1b2d8a2888fbc2210049d25f997e6075711ee5adb4c34c026a6343309aca784c50cf91ad6a442b911236
@@ -20,10 +20,12 @@ module Judoscale
20
20
  UUID_REGEXP = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/
21
21
  DEFAULT_QUEUE_FILTER = ->(queue_name) { !UUID_REGEXP.match?(queue_name) }
22
22
 
23
- attr_accessor :identifier, :enabled, :max_queues, :queues, :queue_filter, :track_busy_jobs
23
+ attr_accessor :identifier, :enabled, :max_queues, :queues, :queue_filter
24
+ attr_reader :track_busy_jobs
24
25
 
25
- def initialize(identifier)
26
+ def initialize(identifier, support_busy_jobs: true)
26
27
  @identifier = identifier
28
+ @support_busy_jobs = support_busy_jobs
27
29
  reset
28
30
  end
29
31
 
@@ -34,7 +36,15 @@ module Judoscale
34
36
 
35
37
  # Support for deprecated legacy env var configs.
36
38
  @max_queues = (ENV["RAILS_AUTOSCALE_MAX_QUEUES"] || 20).to_i
37
- @track_busy_jobs = ENV["RAILS_AUTOSCALE_LONG_JOBS"] == "true"
39
+ self.track_busy_jobs = ENV["RAILS_AUTOSCALE_LONG_JOBS"] == "true"
40
+ end
41
+
42
+ def track_busy_jobs=(value)
43
+ if value && !@support_busy_jobs
44
+ raise "[#{Config.instance.log_tag}] #{identifier} does not support busy jobs"
45
+ end
46
+
47
+ @track_busy_jobs = value
38
48
  end
39
49
 
40
50
  def as_json
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Judoscale
4
- VERSION = "1.6.0"
4
+ VERSION = "1.7.1"
5
5
  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.6.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam McCrea
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-04-26 00:00:00.000000000 Z
13
+ date: 2024-07-08 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description:
16
16
  email:
@@ -19,9 +19,6 @@ executables: []
19
19
  extensions: []
20
20
  extra_rdoc_files: []
21
21
  files:
22
- - Gemfile
23
- - Rakefile
24
- - judoscale-ruby.gemspec
25
22
  - lib/judoscale-ruby.rb
26
23
  - lib/judoscale/adapter_api.rb
27
24
  - lib/judoscale/config.rb
@@ -37,8 +34,6 @@ files:
37
34
  - lib/judoscale/request_middleware.rb
38
35
  - lib/judoscale/version.rb
39
36
  - lib/judoscale/web_metrics_collector.rb
40
- - lib/rails-autoscale-core.rb
41
- - rails-autoscale-core.gemspec
42
37
  homepage: https://judoscale.com
43
38
  licenses:
44
39
  - MIT
@@ -63,9 +58,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
58
  - !ruby/object:Gem::Version
64
59
  version: '0'
65
60
  requirements: []
66
- rubygems_version: 3.4.10
61
+ rubygems_version: 3.5.11
67
62
  signing_key:
68
63
  specification_version: 4
69
- summary: This gem works with the Judoscale Heroku add-on to automatically scale your
70
- web and worker dynos.
64
+ summary: Autoscaling for Ruby.
71
65
  test_files: []
data/Gemfile DELETED
@@ -1,9 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec name: "judoscale-ruby"
4
-
5
- gem "rake", ">= 12.3.3"
6
- gem "minitest"
7
- gem "minitest-stub-const"
8
- gem "webmock"
9
- gem "debug"
data/Rakefile DELETED
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rake/testtask"
4
-
5
- Rake::TestTask.new(:test) do |t|
6
- t.libs << "lib"
7
- t.libs << "test"
8
- t.test_files = FileList["test/**/*_test.rb"]
9
- end
10
-
11
- task default: :test
@@ -1,27 +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", "Jon Sullivan"]
9
- spec.email = ["hello@judoscale.com"]
10
-
11
- spec.summary = "This gem works with the Judoscale Heroku add-on to automatically scale your web and worker dynos."
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
- end
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "judoscale-ruby"
@@ -1,27 +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 = "rails-autoscale-core"
7
- spec.version = Judoscale::VERSION
8
- spec.authors = ["Adam McCrea", "Carlos Antonio da Silva", "Jon Sullivan"]
9
- spec.email = ["hello@judoscale.com"]
10
-
11
- spec.summary = "This gem works with the Judoscale Heroku add-on to automatically scale your web and worker dynos."
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
- end