sidekiq_alive 2.0.5 → 2.1.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 +4 -4
- data/.tool-versions +1 -0
- data/Gemfile.lock +5 -5
- data/README.md +11 -6
- data/docker-compose.yml +6 -0
- data/lib/sidekiq_alive/config.rb +3 -1
- data/lib/sidekiq_alive/server.rb +1 -1
- data/lib/sidekiq_alive/version.rb +1 -1
- data/lib/sidekiq_alive/worker.rb +7 -1
- data/sidekiq_alive.gemspec +1 -1
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6a2151aa5146a6a40096e4513702809296876a902a7def0d24d59bad6f110da
|
4
|
+
data.tar.gz: b99cd52eb4e5b694b6ca23d9b141d59b1ce362f914b74c63ea42b741dd4d7206
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e82159d26a9e62445880b525619c11e6fe18d3f18378c72147de816d302efd7b3911aad3ff53c30fdd66982fa58ea4be7ff32ab3abd98c9f83f43127442c2db1
|
7
|
+
data.tar.gz: d5911f55bbd93e93baee10a8f28466eab44ca21980b7922ab05cb697d0d5fc2bdc4a09a70336d6f4f61614ba85a148b1c576eeba3f455078f4a935cec649f1f8
|
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.7.4
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sidekiq_alive (2.0.
|
4
|
+
sidekiq_alive (2.0.6)
|
5
5
|
sidekiq
|
6
6
|
|
7
7
|
GEM
|
@@ -15,12 +15,12 @@ GEM
|
|
15
15
|
pry (0.12.2)
|
16
16
|
coderay (~> 1.1.0)
|
17
17
|
method_source (~> 0.9.0)
|
18
|
-
rack (2.
|
18
|
+
rack (2.2.3)
|
19
19
|
rack-protection (2.0.5)
|
20
20
|
rack
|
21
21
|
rack-test (1.1.0)
|
22
22
|
rack (>= 1.0, < 3)
|
23
|
-
rake (
|
23
|
+
rake (13.0.3)
|
24
24
|
redis (4.1.0)
|
25
25
|
rspec (3.8.0)
|
26
26
|
rspec-core (~> 3.8.0)
|
@@ -52,10 +52,10 @@ DEPENDENCIES
|
|
52
52
|
mock_redis
|
53
53
|
pry
|
54
54
|
rack-test
|
55
|
-
rake (~>
|
55
|
+
rake (~> 13.0)
|
56
56
|
rspec (~> 3.0)
|
57
57
|
rspec-sidekiq (~> 3.0)
|
58
58
|
sidekiq_alive!
|
59
59
|
|
60
60
|
BUNDLED WITH
|
61
|
-
|
61
|
+
2.2.22
|
data/README.md
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
SidekiqAlive offers a solution to add liveness probe for a Sidekiq instance deployed in Kubernetes.
|
8
8
|
This library can be used to check sidekiq health outside kubernetes.
|
9
9
|
|
10
|
-
|
10
|
+
**How?**
|
11
11
|
|
12
12
|
A http server is started and on each requests validates that a liveness key is stored in Redis. If it is there means is working.
|
13
13
|
|
@@ -52,7 +52,6 @@ Or install it yourself as:
|
|
52
52
|
|
53
53
|
$ gem install sidekiq_alive
|
54
54
|
|
55
|
-
|
56
55
|
## Usage
|
57
56
|
|
58
57
|
SidekiqAlive will start when running `sidekiq` command.
|
@@ -68,8 +67,7 @@ curl localhost:7433
|
|
68
67
|
#=> Alive!
|
69
68
|
```
|
70
69
|
|
71
|
-
|
72
|
-
__how to disable?__
|
70
|
+
**how to disable?**
|
73
71
|
You can disabled by setting `ENV` variable `DISABLE_SIDEKIQ_ALIVE`
|
74
72
|
example:
|
75
73
|
|
@@ -115,7 +113,7 @@ spec:
|
|
115
113
|
preStop:
|
116
114
|
exec:
|
117
115
|
# SIGTERM triggers a quick exit; gracefully terminate instead
|
118
|
-
command: [
|
116
|
+
command: ['bundle', 'exec', 'sidekiqctl', 'quiet']
|
119
117
|
terminationGracePeriodSeconds: 60 # put your longest Job time here plus security time.
|
120
118
|
```
|
121
119
|
|
@@ -172,7 +170,7 @@ spec:
|
|
172
170
|
preStop:
|
173
171
|
exec:
|
174
172
|
# SIGTERM triggers a quick exit; gracefully terminate instead
|
175
|
-
command: [
|
173
|
+
command: ['kube/sidekiq_quiet']
|
176
174
|
terminationGracePeriodSeconds: 60 # put your longest Job time here plus security time.
|
177
175
|
```
|
178
176
|
|
@@ -217,6 +215,13 @@ SidekiqAlive.setup do |config|
|
|
217
215
|
#
|
218
216
|
# config.path = '/'
|
219
217
|
|
218
|
+
# ==> Custom Liveness Probe
|
219
|
+
# Extra check to decide if restart the pod or not for example connection to DB.
|
220
|
+
# `false`, `nil` or `raise` will not write the liveness probe
|
221
|
+
# default: proc { true }
|
222
|
+
#
|
223
|
+
# config.custom_liveness_probe = proc { db_running? }
|
224
|
+
|
220
225
|
# ==> Liveness key
|
221
226
|
# Key to be stored in Redis as probe of liveness
|
222
227
|
# default: "SIDEKIQ::LIVENESS_PROBE_TIMESTAMP"
|
data/docker-compose.yml
ADDED
data/lib/sidekiq_alive/config.rb
CHANGED
@@ -12,7 +12,8 @@ module SidekiqAlive
|
|
12
12
|
:callback,
|
13
13
|
:registered_instance_key,
|
14
14
|
:queue_prefix,
|
15
|
-
:server
|
15
|
+
:server,
|
16
|
+
:custom_liveness_probe
|
16
17
|
|
17
18
|
def initialize
|
18
19
|
set_defaults
|
@@ -28,6 +29,7 @@ module SidekiqAlive
|
|
28
29
|
@registered_instance_key = 'SIDEKIQ_REGISTERED_INSTANCE'
|
29
30
|
@queue_prefix = :sidekiq_alive
|
30
31
|
@server = ENV['SIDEKIQ_ALIVE_SERVER'] || 'webrick'
|
32
|
+
@custom_liveness_probe = proc { true }
|
31
33
|
end
|
32
34
|
|
33
35
|
def registration_ttl
|
data/lib/sidekiq_alive/server.rb
CHANGED
data/lib/sidekiq_alive/worker.rb
CHANGED
@@ -1,11 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SidekiqAlive
|
2
4
|
class Worker
|
3
5
|
include Sidekiq::Worker
|
4
6
|
sidekiq_options retry: false
|
5
7
|
|
6
8
|
def perform(_hostname = SidekiqAlive.hostname)
|
9
|
+
# Checks if custom liveness probe passes should fail or return false
|
10
|
+
return unless config.custom_liveness_probe.call
|
11
|
+
|
12
|
+
# Writes the liveness in Redis
|
7
13
|
write_living_probe
|
8
|
-
#
|
14
|
+
# schedules next living probe
|
9
15
|
self.class.perform_in(config.time_to_live / 2, current_hostname)
|
10
16
|
end
|
11
17
|
|
data/sidekiq_alive.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
33
33
|
spec.add_development_dependency 'mock_redis'
|
34
34
|
spec.add_development_dependency 'rack-test'
|
35
|
-
spec.add_development_dependency 'rake', '~>
|
35
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
36
36
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
37
37
|
spec.add_development_dependency 'rspec-sidekiq', '~> 3.0'
|
38
38
|
spec.add_dependency 'sidekiq'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq_alive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artur Pañach
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '13.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,6 +127,7 @@ extra_rdoc_files: []
|
|
127
127
|
files:
|
128
128
|
- ".gitignore"
|
129
129
|
- ".rspec"
|
130
|
+
- ".tool-versions"
|
130
131
|
- ".travis.yml"
|
131
132
|
- CODE_OF_CONDUCT.md
|
132
133
|
- Gemfile
|
@@ -136,6 +137,7 @@ files:
|
|
136
137
|
- Rakefile
|
137
138
|
- bin/console
|
138
139
|
- bin/setup
|
140
|
+
- docker-compose.yml
|
139
141
|
- lib/sidekiq_alive.rb
|
140
142
|
- lib/sidekiq_alive/config.rb
|
141
143
|
- lib/sidekiq_alive/server.rb
|
@@ -161,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
163
|
- !ruby/object:Gem::Version
|
162
164
|
version: '0'
|
163
165
|
requirements: []
|
164
|
-
rubygems_version: 3.
|
166
|
+
rubygems_version: 3.1.6
|
165
167
|
signing_key:
|
166
168
|
specification_version: 4
|
167
169
|
summary: Liveness probe for sidekiq on Kubernetes deployments.
|