sidekiq_autoscale 0.7.0 → 1.0.0

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: 4fb1106737a313ea2d52b6adf76b39b50b22f21805fe5c35ae69f2d5cf78dfbd
4
- data.tar.gz: 8194490ae3a847f552c148573d2fb640417cba207e79b216a74b623b2a7ed1fa
3
+ metadata.gz: e3c5304f9d7086b26673e661842319fa5e61de1ea329948e0287a51bd50b0fb5
4
+ data.tar.gz: 30f9257eb21e5397a8ffcfda45ac265c840ab2b464507790c2811f5715cbc10c
5
5
  SHA512:
6
- metadata.gz: 356bbda6c570f1fdf2b1a455e6f4715df45c733f4ea4a1a4e735082326f031921ede2f3cc98eb949b585f451c2d9dc5ad168032726570410b3527afd32f44386
7
- data.tar.gz: 6f8acf1f08f099e16053df6c1a6ea226cb2ebaaa7da710a4258b55cd5d87e1b5f4545c25d9989252aadba41b57cfd8ad3198ffd467d9966704e4efc9c28bb4a4
6
+ metadata.gz: 6381af328516316689183bff701f923ca7f4199f07566421c4f44c2d383239fab447cf2a8c307e1bdf79041badac938b58126222baae1cde0df28b4b9b7756ba
7
+ data.tar.gz: 3228342fe0d8b54e20ad0677f7a122830c99f7c102b33f5f13a7097ceee7c67f81b03663f11df0d4fb7abd65b8857504f01614964aab66edb532dd0c104afb8e
data/README.md CHANGED
@@ -75,17 +75,11 @@ SidekiqAutoscale.configure do |config|
75
75
 
76
76
  # Current adapters are:
77
77
  # :nil - scaling events do nothing
78
- # :heroku - scale a Heroku dyno
78
+ # :kubernetes - scale a Kubernetes deployment
79
79
 
80
- config.adapter = :heroku
80
+ config.adapter = :kubernetes
81
81
 
82
82
  # Any configuration required for the selected adapter
83
- # Heroku requires the following:
84
- config.adapter_config = {
85
- api_key: "HEROKU_API_KEY",
86
- worker_dyno_name: "DYNO_WORKER_NAME",
87
- app_name: "HEROKU_APP_NAME"
88
- }
89
83
  # Kubernetes requires the following:
90
84
  config.adapter_config = {
91
85
  deployment_name: "myapp-sidekiq",
@@ -24,17 +24,15 @@ SidekiqAutoscale.configure do |config|
24
24
 
25
25
  # Current adapters are:
26
26
  # :nil - scaling events do nothing
27
- # :heroku - scale a Heroku dyno
27
+ # :kubernetes - scale a Kubernetes deployment
28
28
 
29
- config.adapter = :heroku
29
+ config.adapter = :kubernetes
30
30
 
31
31
  # Any configuration required for the selected adapter
32
- # Heroku requires the following:
32
+ # Kubernetes requires the following config: deployment_name
33
33
  config.adapter_config = {
34
- api_key: "HEROKU_API_KEY",
35
- worker_dyno_name: "DYNO_WORKER_NAME",
36
- app_name: "HEROKU_APP_NAME"
37
- }
34
+ deployment_name: "SIDEKIQ_DEPLOYMENT_NAME"
35
+ }
38
36
 
39
37
  # The minimum amount of time to wait between scaling events
40
38
  # Useful to tweak based on how long it takes for a new worker
@@ -43,7 +43,6 @@ module SidekiqAutoscale
43
43
  def adapter_klass
44
44
  @adapter_klass ||= begin
45
45
  known_adapters = [::SidekiqAutoscale::NilAdapter,
46
- ::SidekiqAutoscale::HerokuAdapter,
47
46
  ::SidekiqAutoscale::KubernetesAdapter].freeze
48
47
  adapter_klass_name = known_adapters.map(&:to_s).find {|i| i.end_with?("#{adapter.to_s.camelize}Adapter") }
49
48
  if adapter_klass_name.nil?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SidekiqAutoscale
4
- VERSION = "0.7.0"
4
+ VERSION = "1.0.0"
5
5
  end
@@ -13,7 +13,6 @@ require "sidekiq_autoscale/strategies/linear_scaling"
13
13
  require "sidekiq_autoscale/strategies/oldest_job_scaling"
14
14
  require "sidekiq_autoscale/strategies/dynamic_latency_scaling"
15
15
  require "sidekiq_autoscale/adapters/nil_adapter"
16
- require "sidekiq_autoscale/adapters/heroku_adapter"
17
16
  require "sidekiq_autoscale/adapters/kubernetes_adapter"
18
17
  require "sidekiq_autoscale/middleware"
19
18
  require "sidekiq_autoscale/config/callbacks"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_autoscale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Allen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-22 00:00:00.000000000 Z
11
+ date: 2026-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.17.2
41
- - !ruby/object:Gem::Dependency
42
- name: platform-api
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '2.2'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '2.2'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: railties
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -329,7 +315,6 @@ files:
329
315
  - lib/generators/sidekiq_autoscale/install/install_generator.rb
330
316
  - lib/generators/sidekiq_autoscale/install/templates/sidekiq_autoscale_initializer_template.template
331
317
  - lib/sidekiq_autoscale.rb
332
- - lib/sidekiq_autoscale/adapters/heroku_adapter.rb
333
318
  - lib/sidekiq_autoscale/adapters/kubernetes_adapter.rb
334
319
  - lib/sidekiq_autoscale/adapters/nil_adapter.rb
335
320
  - lib/sidekiq_autoscale/config/callbacks.rb
@@ -348,7 +333,10 @@ files:
348
333
  homepage: https://github.com/tractionguest/sidekiq_autoscaling
349
334
  licenses:
350
335
  - MIT
351
- metadata: {}
336
+ metadata:
337
+ changelog_uri: https://github.com/tractionguest/sidekiq_autoscaling/blob/master/CHANGELOG.md
338
+ source_code_uri: https://github.com/tractionguest/sidekiq_autoscaling
339
+ bug_tracker_uri: https://github.com/tractionguest/sidekiq_autoscaling/issues
352
340
  post_install_message:
353
341
  rdoc_options: []
354
342
  require_paths:
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module SidekiqAutoscale
4
- class HerokuAdapter
5
- def initialize
6
- require "platform-api"
7
- @app_name = SidekiqAutoscale.adapter_config[:app_name]
8
- @dyno_name = SidekiqAutoscale.adapter_config[:worker_dyno_name]
9
- @client = PlatformAPI.connect_oauth(SidekiqAutoscale.adapter_config[:api_key])
10
- end
11
-
12
- def worker_count
13
- @client.formation.list(@app_name)
14
- .select {|i| i["type"] == @dyno_name }
15
- .map {|i| i["quantity"] }
16
- .reduce(0, &:+)
17
- rescue Excon::Errors::Error => e
18
- SidekiqAutoscale.on_scaling_error(e)
19
- 0
20
- end
21
-
22
- def worker_count=(val)
23
- return if val == worker_count
24
-
25
- @client.formation.update(@app_name, @dyno_name, quantity: val)
26
- SidekiqAutoscale.logger.info("[SIDEKIQ_SCALE][HEROKU_ACTION] Set new worker count to #{val} (previously #{worker_count})")
27
- rescue Excon::Errors::Error, Heroku::API::Errors::Error => e
28
- SidekiqAutoscale.on_scaling_error(e)
29
- end
30
- end
31
- end