puma_worker_killer 0.2.0 → 0.3.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: 656a49cbbcbc36e3735d20ade22027cc209213f029e51faa7f0f08c7dbcffb70
4
- data.tar.gz: 5a328323d77f9ede2a44ab0c37577b6277a682c73ce1ad0f1bf167efb720a62d
3
+ metadata.gz: 57d35810e8f71f67c6c6a964e53a9d0880b9d6a8cfd03b06f736aee29dae9494
4
+ data.tar.gz: 6b403245794f280c4c11e2ab9ef5ba7074055022da058599759f419394fb12b1
5
5
  SHA512:
6
- metadata.gz: f77c25f16200fc313b7d230f852fcd2543f1f2ff1f40863c757c9288cbbc520c6b44f9ba3c51fef26693e1d233b66519100d0443b3020402f55ebee397babd09
7
- data.tar.gz: df97c81b1e0d93a8ace45cd1b24a9e6de4fb2f94a85b181650a163f458aae754a6571b5b34721b6b718649059305c2637f0766597b0560f9412a57c56e91281a
6
+ metadata.gz: 1a3d072a748058b192a0320cd17bd401a289a4ea0be1df2d0f7946eaaecaf97747b3b920cd502650bf6a55d4fe7457720888a6132155b02a0e30bb708e9bd5d7
7
+ data.tar.gz: 9adfab59ed940a36eba60c123f3bbb25de11dd1717520df433671da45bb88ddbc6a12b4b1e7e3620e83acb5189399980accc27600f7c668e9fda438a5ae033cd
@@ -1,9 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.3.8
4
- - 2.4.5
5
- - 2.5.3
6
- - 2.6.0
4
+ - 2.4.10
5
+ - 2.5.8
6
+ - 2.6.6
7
+ - 2.7.1
7
8
  - ruby-head
8
9
  - rbx
9
10
  before_install:
@@ -1,4 +1,9 @@
1
- ## Master
1
+ ## Main
2
+
3
+ ## 0.3.0
4
+
5
+ - Test on recent ruby versions #84
6
+ - Add option to adjust restart randomizer (#78)
2
7
 
3
8
  ## 0.2.0
4
9
 
@@ -6,12 +6,14 @@ module PumaWorkerKiller
6
6
  extend self
7
7
 
8
8
  attr_accessor :ram, :frequency, :percent_usage, :rolling_restart_frequency,
9
+ :rolling_restart_splay_seconds,
9
10
  :reaper_status_logs, :pre_term, :rolling_pre_term, :on_calculation
10
11
 
11
12
  self.ram = 512 # mb
12
13
  self.frequency = 10 # seconds
13
14
  self.percent_usage = 0.99 # percent of RAM to use
14
15
  self.rolling_restart_frequency = 6 * 3600 # 6 hours in seconds
16
+ self.rolling_restart_splay_seconds = 0.0..300.0 # 0 to 5 minutes in seconds
15
17
  self.reaper_status_logs = true
16
18
  self.pre_term = nil
17
19
  self.rolling_pre_term = nil
@@ -30,8 +32,10 @@ module PumaWorkerKiller
30
32
  enable_rolling_restart(rolling_restart_frequency) if rolling_restart_frequency
31
33
  end
32
34
 
33
- def enable_rolling_restart(frequency = rolling_restart_frequency)
34
- frequency += rand(0..10.0) # so all workers don't restart at the exact same time across multiple machines
35
+ def enable_rolling_restart(frequency = rolling_restart_frequency,
36
+ splay_seconds = rolling_restart_splay_seconds)
37
+ # Randomize so all workers don't restart at the exact same time across multiple machines.
38
+ frequency += rand(splay_seconds)
35
39
  AutoReap.new(frequency, RollingRestart.new(nil, rolling_pre_term)).start
36
40
  end
37
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PumaWorkerKiller
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
@@ -21,8 +21,8 @@ Gem::Specification.new do |gem|
21
21
 
22
22
  gem.add_dependency 'get_process_mem', '~> 0.2'
23
23
  gem.add_dependency 'puma', '>= 2.7', '< 5'
24
- gem.add_development_dependency 'rack', '~> 1.6'
25
- gem.add_development_dependency 'rake', '~> 10.1'
24
+ gem.add_development_dependency 'rack', '~> 2.0'
25
+ gem.add_development_dependency 'rake', '~> 13.0'
26
26
  gem.add_development_dependency 'test-unit', '>= 0'
27
27
  gem.add_development_dependency 'wait_for_it', '~> 0.1'
28
28
  end
@@ -5,6 +5,6 @@ load File.expand_path('fixture_helper.rb', __dir__)
5
5
  PumaWorkerKiller.config do |config|
6
6
  config.rolling_pre_term = ->(worker) { puts("About to terminate (rolling) worker: #{worker.pid}") }
7
7
  end
8
- PumaWorkerKiller.enable_rolling_restart(1) # 1 second
8
+ PumaWorkerKiller.enable_rolling_restart(1, 0..5.0) # 1 second, short 1-5s splay.
9
9
 
10
10
  run HelloWorldApp
@@ -2,6 +2,6 @@
2
2
 
3
3
  load File.expand_path('fixture_helper.rb', __dir__)
4
4
 
5
- PumaWorkerKiller.enable_rolling_restart(1) # 1 second
5
+ PumaWorkerKiller.enable_rolling_restart(1, 0..5.0) # 1 second, short 1-5s splay.
6
6
 
7
7
  run HelloWorldApp
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puma_worker_killer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Schneeman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-18 00:00:00.000000000 Z
11
+ date: 2020-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: get_process_mem
@@ -50,28 +50,28 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.6'
53
+ version: '2.0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '1.6'
60
+ version: '2.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '10.1'
67
+ version: '13.0'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '10.1'
74
+ version: '13.0'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: test-unit
77
77
  requirement: !ruby/object:Gem::Requirement