sidekiq-heroku-scaler 0.1.3 → 0.2.0

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: cd6555ed85d38c9ae7d8aa23b933b7da839ad5c13bfa9717b010eb807a9628e4
4
- data.tar.gz: 1f17a01f45c5903ec90be77932e94d1cd2e944cd24639ecccfe7d8500ddf94ee
3
+ metadata.gz: a621fafaabccaf23384286cd22585c3438f89cdcdc086f9daae43a8f466b9111
4
+ data.tar.gz: 6e7332ed2fd08e54ae728837a2ed4555d249b221f2d4bbfcf63d8f510246a2f6
5
5
  SHA512:
6
- metadata.gz: 7e37e11e9aa1f87b548c93f2ee1f047e399c7ce434ed1fe30c66c92c0023a34331578dfab80395105eae758ed40a6a508d394989428686a57fae9aee57d39d3b
7
- data.tar.gz: 0aa1fdd33ab3f533a6072c98e9d654661b53effcf68315315f5a0e345729cd67eb6ab8150671e5513bba8410b5ba0a0c105b5e6535c9c3eaadacdb749eb1d9e8
6
+ metadata.gz: aacc9a300953800982c0dc6ffe14048a8caf9598169182ed0b2ba7c8eb73807eeceb6b4a1adb83537f0f1d881756ed8b10c95d1ca34ab0212a0bf2f0b71ca9d0
7
+ data.tar.gz: c0941719a3815b45c41d21f26f97c483be59217c98b6d26de8000eca6188a9c86877b743f03e23f26dc3d7d247ed67f8c030ee277a1d09dc7a8bedeaee62b589
data/Gemfile.lock CHANGED
@@ -1,39 +1,40 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sidekiq-heroku-scaler (0.1.0)
5
- platform-api (~> 2.2)
6
- sidekiq (~> 5.2)
4
+ sidekiq-heroku-scaler (0.2.0)
5
+ platform-api (> 3, < 4)
6
+ sidekiq (> 4, < 7)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  ast (2.4.0)
12
- connection_pool (2.2.2)
12
+ connection_pool (2.2.5)
13
13
  diff-lcs (1.3)
14
14
  erubis (2.7.0)
15
- excon (0.62.0)
16
- heroics (0.0.25)
15
+ excon (0.92.2)
16
+ heroics (0.1.2)
17
17
  erubis (~> 2.0)
18
18
  excon
19
19
  moneta
20
20
  multi_json (>= 1.9.2)
21
+ webrick
21
22
  jaro_winkler (1.5.1)
22
23
  moneta (1.0.0)
23
- multi_json (1.13.1)
24
+ multi_json (1.15.0)
24
25
  parallel (1.12.1)
25
26
  parser (2.5.3.0)
26
27
  ast (~> 2.4.0)
27
- platform-api (2.2.0)
28
- heroics (~> 0.0.25)
28
+ platform-api (3.3.0)
29
+ heroics (~> 0.1.1)
29
30
  moneta (~> 1.0.0)
31
+ rate_throttle_client (~> 0.1.0)
30
32
  powerpack (0.1.2)
31
- rack (2.0.6)
32
- rack-protection (2.0.5)
33
- rack
33
+ rack (2.2.3)
34
34
  rainbow (3.0.0)
35
35
  rake (12.3.2)
36
- redis (4.1.0)
36
+ rate_throttle_client (0.1.2)
37
+ redis (4.6.0)
37
38
  rspec (3.8.0)
38
39
  rspec-core (~> 3.8.0)
39
40
  rspec-expectations (~> 3.8.0)
@@ -56,11 +57,12 @@ GEM
56
57
  ruby-progressbar (~> 1.7)
57
58
  unicode-display_width (~> 1.4.0)
58
59
  ruby-progressbar (1.10.0)
59
- sidekiq (5.2.3)
60
- connection_pool (~> 2.2, >= 2.2.2)
61
- rack-protection (>= 1.5.0)
62
- redis (>= 3.3.5, < 5)
60
+ sidekiq (6.4.1)
61
+ connection_pool (>= 2.2.2)
62
+ rack (~> 2.0)
63
+ redis (>= 4.2.0)
63
64
  unicode-display_width (1.4.1)
65
+ webrick (1.7.0)
64
66
 
65
67
  PLATFORMS
66
68
  ruby
@@ -73,4 +75,4 @@ DEPENDENCIES
73
75
  sidekiq-heroku-scaler!
74
76
 
75
77
  BUNDLED WITH
76
- 1.17.3
78
+ 2.2.32
@@ -30,9 +30,11 @@ module SidekiqHerokuScaler
30
30
 
31
31
  def process_formation(sidekiq_worker)
32
32
  if strategy.increase?(sidekiq_worker)
33
- heroku_client.update_formation(sidekiq_worker.formation_id, sidekiq_worker.quantity + strategy.inc_count)
33
+ heroku_client.update_formation(sidekiq_worker.formation_id,
34
+ strategy.safe_quantity(sidekiq_worker.quantity + strategy.inc_count))
34
35
  elsif strategy.decrease?(sidekiq_worker)
35
- heroku_client.update_formation(sidekiq_worker.formation_id, sidekiq_worker.quantity - strategy.dec_count)
36
+ heroku_client.update_formation(sidekiq_worker.formation_id,
37
+ strategy.safe_quantity(sidekiq_worker.quantity - strategy.dec_count))
36
38
  end
37
39
  end
38
40
 
@@ -26,6 +26,12 @@ module SidekiqHerokuScaler
26
26
  sidekiq_worker.latency < min_latency && sidekiq_worker.quantity > min_dynos_count
27
27
  end
28
28
 
29
+ def safe_quantity(quantity)
30
+ return 1 if quantity <= 0
31
+
32
+ quantity > max_dynos_count ? max_dynos_count : quantity
33
+ end
34
+
29
35
  private
30
36
 
31
37
  attr_reader :min_dynos_count, :max_dynos_count, :max_latency, :min_latency
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SidekiqHerokuScaler
4
- VERSION = '0.1.3'
4
+ VERSION = '0.2.0'
5
5
  end
@@ -27,6 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency 'rspec'
28
28
  spec.add_development_dependency 'rubocop'
29
29
 
30
- spec.add_dependency 'platform-api', '~> 2.2'
31
- spec.add_dependency 'sidekiq', '~> 5.2'
30
+ spec.add_dependency 'platform-api', '> 3', '< 4'
31
+ spec.add_dependency 'sidekiq', '> 4', '< 7'
32
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-heroku-scaler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vital Ryabchinskiy
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-07 00:00:00.000000000 Z
11
+ date: 2022-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -70,30 +70,42 @@ dependencies:
70
70
  name: platform-api
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.2'
75
+ version: '3'
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: '4'
76
79
  type: :runtime
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
80
- - - "~>"
83
+ - - ">"
84
+ - !ruby/object:Gem::Version
85
+ version: '3'
86
+ - - "<"
81
87
  - !ruby/object:Gem::Version
82
- version: '2.2'
88
+ version: '4'
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: sidekiq
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
- - - "~>"
93
+ - - ">"
88
94
  - !ruby/object:Gem::Version
89
- version: '5.2'
95
+ version: '4'
96
+ - - "<"
97
+ - !ruby/object:Gem::Version
98
+ version: '7'
90
99
  type: :runtime
91
100
  prerelease: false
92
101
  version_requirements: !ruby/object:Gem::Requirement
93
102
  requirements:
94
- - - "~>"
103
+ - - ">"
104
+ - !ruby/object:Gem::Version
105
+ version: '4'
106
+ - - "<"
95
107
  - !ruby/object:Gem::Version
96
- version: '5.2'
108
+ version: '7'
97
109
  description: Tool to scale sidekiq dynos on Heroku
98
110
  email:
99
111
  - vital.ryabchinskiy@gmail.com
@@ -124,7 +136,7 @@ homepage: https://github.com/vitalinfo/sidekiq-heroku-scaler
124
136
  licenses:
125
137
  - MIT
126
138
  metadata: {}
127
- post_install_message:
139
+ post_install_message:
128
140
  rdoc_options: []
129
141
  require_paths:
130
142
  - lib
@@ -139,8 +151,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
151
  - !ruby/object:Gem::Version
140
152
  version: '0'
141
153
  requirements: []
142
- rubygems_version: 3.0.6
143
- signing_key:
154
+ rubygems_version: 3.2.32
155
+ signing_key:
144
156
  specification_version: 4
145
157
  summary: Sidekiq Heroku Scaler
146
158
  test_files: []