sidekiq_alive 2.0.0 → 2.0.5
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/Gemfile +2 -2
- data/Gemfile.lock +1 -9
- data/README.md +84 -4
- data/Rakefile +3 -3
- data/bin/console +3 -3
- data/lib/sidekiq_alive.rb +2 -1
- data/lib/sidekiq_alive/config.rb +11 -3
- data/lib/sidekiq_alive/server.rb +40 -14
- data/lib/sidekiq_alive/version.rb +3 -1
- data/lib/sidekiq_alive/worker.rb +6 -2
- data/sidekiq_alive.gemspec +20 -22
- metadata +23 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6d5a90f1ac023c49440e1e24d53e05bd3fe1f5362822e125a8989981e51846e
|
4
|
+
data.tar.gz: dd90cc1b6d7b1fc6273426e32f950d68a71eaa7d63b42b32d914450f35eec09a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 533ef08f31e90ac4743577c561f3994c2b2e7eb9945cadcc4dc70dda3e2b339d8d8e6ab2d270b82a65dc884812b8d30ce1de49e50648af1a4136eafa77ee9dd3
|
7
|
+
data.tar.gz: 702c96b61ecaa7595b44ff9bd3dcfa29d58e99623a5fcd5534b94221dd92e96b06e0e81f217c826f7d8ee9e75bee55ef063d93ff855381efa5ead8af96a01cc4
|
data/Gemfile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
3
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in sidekiq_alive.gemspec
|
6
6
|
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sidekiq_alive (2.0.
|
4
|
+
sidekiq_alive (2.0.5)
|
5
5
|
sidekiq
|
6
|
-
sinatra
|
7
6
|
|
8
7
|
GEM
|
9
8
|
remote: https://rubygems.org/
|
@@ -13,7 +12,6 @@ GEM
|
|
13
12
|
diff-lcs (1.3)
|
14
13
|
method_source (0.9.2)
|
15
14
|
mock_redis (0.19.0)
|
16
|
-
mustermann (1.0.3)
|
17
15
|
pry (0.12.2)
|
18
16
|
coderay (~> 1.1.0)
|
19
17
|
method_source (~> 0.9.0)
|
@@ -45,12 +43,6 @@ GEM
|
|
45
43
|
rack (>= 1.5.0)
|
46
44
|
rack-protection (>= 1.5.0)
|
47
45
|
redis (>= 3.3.5, < 5)
|
48
|
-
sinatra (2.0.5)
|
49
|
-
mustermann (~> 1.0)
|
50
|
-
rack (~> 2.0)
|
51
|
-
rack-protection (= 2.0.5)
|
52
|
-
tilt (~> 2.0)
|
53
|
-
tilt (2.0.9)
|
54
46
|
|
55
47
|
PLATFORMS
|
56
48
|
ruby
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ __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
|
|
14
|
-
A Sidekiq worker is the
|
14
|
+
A Sidekiq worker is the responsible to storing this key. If Sidekiq stops processing workers
|
15
15
|
this key gets expired by Redis an consequently the http server will return a 500 error.
|
16
16
|
|
17
17
|
This worker is responsible to requeue itself for the next liveness probe.
|
@@ -65,7 +65,7 @@ bundle exec sidekiq
|
|
65
65
|
|
66
66
|
```
|
67
67
|
curl localhost:7433
|
68
|
-
#=> Alive!
|
68
|
+
#=> Alive!
|
69
69
|
```
|
70
70
|
|
71
71
|
|
@@ -83,6 +83,8 @@ Set `livenessProbe` in your Kubernetes deployment
|
|
83
83
|
|
84
84
|
example with recommended setup:
|
85
85
|
|
86
|
+
#### Sidekiq < 6
|
87
|
+
|
86
88
|
```yaml
|
87
89
|
spec:
|
88
90
|
containers:
|
@@ -117,6 +119,63 @@ spec:
|
|
117
119
|
terminationGracePeriodSeconds: 60 # put your longest Job time here plus security time.
|
118
120
|
```
|
119
121
|
|
122
|
+
#### Sidekiq >= 6
|
123
|
+
|
124
|
+
Create file:
|
125
|
+
|
126
|
+
_kube/sidekiq_quiet_
|
127
|
+
|
128
|
+
```bash
|
129
|
+
#!/bin/bash
|
130
|
+
|
131
|
+
# Find Pid
|
132
|
+
SIDEKIQ_PID=$(ps aux | grep sidekiq | grep busy | awk '{ print $2 }')
|
133
|
+
# Send TSTP signal
|
134
|
+
kill -SIGTSTP $SIDEKIQ_PID
|
135
|
+
```
|
136
|
+
|
137
|
+
Make it executable:
|
138
|
+
|
139
|
+
```
|
140
|
+
$ chmod +x kube/sidekiq_quiet
|
141
|
+
```
|
142
|
+
|
143
|
+
Execute it in your deployment preStop:
|
144
|
+
|
145
|
+
```yaml
|
146
|
+
spec:
|
147
|
+
containers:
|
148
|
+
- name: my_app
|
149
|
+
image: my_app:latest
|
150
|
+
env:
|
151
|
+
- name: RAILS_ENV
|
152
|
+
value: production
|
153
|
+
command:
|
154
|
+
- bundle
|
155
|
+
- exec
|
156
|
+
- sidekiq
|
157
|
+
ports:
|
158
|
+
- containerPort: 7433
|
159
|
+
livenessProbe:
|
160
|
+
httpGet:
|
161
|
+
path: /
|
162
|
+
port: 7433
|
163
|
+
initialDelaySeconds: 80 # app specific. Time your sidekiq takes to start processing.
|
164
|
+
timeoutSeconds: 5 # can be much less
|
165
|
+
readinessProbe:
|
166
|
+
httpGet:
|
167
|
+
path: /
|
168
|
+
port: 7433
|
169
|
+
initialDelaySeconds: 80 # app specific
|
170
|
+
timeoutSeconds: 5 # can be much less
|
171
|
+
lifecycle:
|
172
|
+
preStop:
|
173
|
+
exec:
|
174
|
+
# SIGTERM triggers a quick exit; gracefully terminate instead
|
175
|
+
command: ["kube/sidekiq_quiet"]
|
176
|
+
terminationGracePeriodSeconds: 60 # put your longest Job time here plus security time.
|
177
|
+
```
|
178
|
+
|
120
179
|
### Outside kubernetes
|
121
180
|
|
122
181
|
It's just up to you how you want to use it.
|
@@ -137,12 +196,27 @@ curl localhost:7433
|
|
137
196
|
|
138
197
|
```ruby
|
139
198
|
SidekiqAlive.setup do |config|
|
199
|
+
# ==> Server host
|
200
|
+
# Host to bind the server.
|
201
|
+
# Can also be set with the environment variable SIDEKIQ_ALIVE_HOST.
|
202
|
+
# default: 0.0.0.0
|
203
|
+
#
|
204
|
+
# config.host = 0.0.0.0
|
205
|
+
|
140
206
|
# ==> Server port
|
141
|
-
# Port to bind the server
|
207
|
+
# Port to bind the server.
|
208
|
+
# Can also be set with the environment variable SIDEKIQ_ALIVE_PORT.
|
142
209
|
# default: 7433
|
143
210
|
#
|
144
211
|
# config.port = 7433
|
145
212
|
|
213
|
+
# ==> Server path
|
214
|
+
# HTTP path to respond to.
|
215
|
+
# Can also be set with the environment variable SIDEKIQ_ALIVE_PATH.
|
216
|
+
# default: '/'
|
217
|
+
#
|
218
|
+
# config.path = '/'
|
219
|
+
|
146
220
|
# ==> Liveness key
|
147
221
|
# Key to be stored in Redis as probe of liveness
|
148
222
|
# default: "SIDEKIQ::LIVENESS_PROBE_TIMESTAMP"
|
@@ -168,11 +242,17 @@ SidekiqAlive.setup do |config|
|
|
168
242
|
# ==> Queue Prefix
|
169
243
|
# SidekiqAlive will run in a independent queue for each instance/replica
|
170
244
|
# This queue name will be generated with: "#{queue_prefix}-#{hostname}.
|
171
|
-
# You can customize the prefix here.
|
245
|
+
# You can customize the prefix here.
|
172
246
|
# default: :sidekiq_alive
|
173
247
|
#
|
174
248
|
# config.queue_prefix = :other
|
175
249
|
|
250
|
+
# ==> Rack server
|
251
|
+
# Web server used to serve an HTTP response.
|
252
|
+
# Can also be set with the environment variable SIDEKIQ_ALIVE_SERVER.
|
253
|
+
# default: 'webrick'
|
254
|
+
#
|
255
|
+
# config.server = 'puma'
|
176
256
|
end
|
177
257
|
```
|
178
258
|
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'sidekiq_alive'
|
5
5
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +10,5 @@ require "sidekiq_alive"
|
|
10
10
|
# require "pry"
|
11
11
|
# Pry.start
|
12
12
|
|
13
|
-
require
|
13
|
+
require 'irb'
|
14
14
|
IRB.start(__FILE__)
|
data/lib/sidekiq_alive.rb
CHANGED
@@ -9,7 +9,7 @@ module SidekiqAlive
|
|
9
9
|
SidekiqAlive::Worker.sidekiq_options queue: current_queue
|
10
10
|
Sidekiq.configure_server do |sq_config|
|
11
11
|
|
12
|
-
sq_config.options[:queues]
|
12
|
+
sq_config.options[:queues].unshift(current_queue)
|
13
13
|
|
14
14
|
sq_config.on(:startup) do
|
15
15
|
SidekiqAlive.tap do |sa|
|
@@ -27,6 +27,7 @@ module SidekiqAlive
|
|
27
27
|
sq_config.on(:quiet) do
|
28
28
|
SidekiqAlive.unregister_current_instance
|
29
29
|
end
|
30
|
+
|
30
31
|
sq_config.on(:shutdown) do
|
31
32
|
Process.kill('TERM', @server_pid) unless @server_pid.nil?
|
32
33
|
Process.wait(@server_pid) unless @server_pid.nil?
|
data/lib/sidekiq_alive/config.rb
CHANGED
@@ -1,29 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SidekiqAlive
|
2
4
|
class Config
|
3
5
|
include Singleton
|
4
6
|
|
5
|
-
attr_accessor :
|
7
|
+
attr_accessor :host,
|
8
|
+
:port,
|
9
|
+
:path,
|
6
10
|
:liveness_key,
|
7
11
|
:time_to_live,
|
8
12
|
:callback,
|
9
13
|
:registered_instance_key,
|
10
|
-
:queue_prefix
|
14
|
+
:queue_prefix,
|
15
|
+
:server
|
11
16
|
|
12
17
|
def initialize
|
13
18
|
set_defaults
|
14
19
|
end
|
15
20
|
|
16
21
|
def set_defaults
|
22
|
+
@host = ENV['SIDEKIQ_ALIVE_HOST'] || '0.0.0.0'
|
17
23
|
@port = ENV['SIDEKIQ_ALIVE_PORT'] || 7433
|
24
|
+
@path = ENV['SIDEKIQ_ALIVE_PATH'] || '/'
|
18
25
|
@liveness_key = 'SIDEKIQ::LIVENESS_PROBE_TIMESTAMP'
|
19
26
|
@time_to_live = 10 * 60
|
20
27
|
@callback = proc {}
|
21
28
|
@registered_instance_key = 'SIDEKIQ_REGISTERED_INSTANCE'
|
22
29
|
@queue_prefix = :sidekiq_alive
|
30
|
+
@server = ENV['SIDEKIQ_ALIVE_SERVER'] || 'webrick'
|
23
31
|
end
|
24
32
|
|
25
33
|
def registration_ttl
|
26
|
-
@registration_ttl
|
34
|
+
@registration_ttl || time_to_live + 60
|
27
35
|
end
|
28
36
|
end
|
29
37
|
end
|
data/lib/sidekiq_alive/server.rb
CHANGED
@@ -1,18 +1,44 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rack'
|
4
|
+
|
2
5
|
module SidekiqAlive
|
3
|
-
class Server
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
6
|
+
class Server
|
7
|
+
class << self
|
8
|
+
def run!
|
9
|
+
handler = Rack::Handler.get(server)
|
10
|
+
|
11
|
+
Signal.trap('TERM') { handler.shutdown }
|
12
|
+
|
13
|
+
handler.run(self, Port: port, Host: host)
|
14
|
+
end
|
15
|
+
|
16
|
+
def host
|
17
|
+
SidekiqAlive.config.host
|
18
|
+
end
|
19
|
+
|
20
|
+
def port
|
21
|
+
SidekiqAlive.config.port
|
22
|
+
end
|
23
|
+
|
24
|
+
def path
|
25
|
+
SidekiqAlive.config.path
|
26
|
+
end
|
27
|
+
|
28
|
+
def server
|
29
|
+
SidekiqAlive.config.server
|
30
|
+
end
|
31
|
+
|
32
|
+
def call(env)
|
33
|
+
if Rack::Request.new(env).path != path
|
34
|
+
[404, {}, ['Not found']]
|
35
|
+
elsif SidekiqAlive.alive?
|
36
|
+
[200, {}, ['Alive!']]
|
37
|
+
else
|
38
|
+
response = "Can't find the alive key"
|
39
|
+
SidekiqAlive.logger.error(response)
|
40
|
+
[404, {}, [response]]
|
41
|
+
end
|
16
42
|
end
|
17
43
|
end
|
18
44
|
end
|
data/lib/sidekiq_alive/worker.rb
CHANGED
@@ -3,7 +3,7 @@ module SidekiqAlive
|
|
3
3
|
include Sidekiq::Worker
|
4
4
|
sidekiq_options retry: false
|
5
5
|
|
6
|
-
def perform(
|
6
|
+
def perform(_hostname = SidekiqAlive.hostname)
|
7
7
|
write_living_probe
|
8
8
|
# schedule next living probe
|
9
9
|
self.class.perform_in(config.time_to_live / 2, current_hostname)
|
@@ -21,7 +21,11 @@ module SidekiqAlive
|
|
21
21
|
# Increment ttl for current registered instance
|
22
22
|
SidekiqAlive.register_current_instance
|
23
23
|
# after callbacks
|
24
|
-
|
24
|
+
begin
|
25
|
+
config.callback.call
|
26
|
+
rescue StandardError
|
27
|
+
nil
|
28
|
+
end
|
25
29
|
end
|
26
30
|
|
27
31
|
def current_hostname
|
data/sidekiq_alive.gemspec
CHANGED
@@ -1,16 +1,15 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
3
|
+
require 'sidekiq_alive/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
6
|
+
spec.name = 'sidekiq_alive'
|
8
7
|
spec.version = SidekiqAlive::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
8
|
+
spec.authors = ['Artur Pañach']
|
9
|
+
spec.email = ['arturictus@gmail.com']
|
11
10
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
11
|
+
spec.summary = 'Liveness probe for sidekiq on Kubernetes deployments.'
|
12
|
+
spec.description = 'SidekiqAlive offers a solution to add liveness probe of a Sidekiq instance.
|
14
13
|
|
15
14
|
How?
|
16
15
|
|
@@ -19,23 +18,22 @@ Gem::Specification.new do |spec|
|
|
19
18
|
A Sidekiq job is the responsable to storing this key. If Sidekiq stops processing jobs
|
20
19
|
this key gets expired by Redis an consequently the http server will return a 500 error.
|
21
20
|
|
22
|
-
This Job is responsible to requeue itself for the next liveness probe.
|
23
|
-
spec.homepage =
|
24
|
-
spec.license =
|
21
|
+
This Job is responsible to requeue itself for the next liveness probe.'
|
22
|
+
spec.homepage = 'https://github.com/arturictus/sidekiq_alive'
|
23
|
+
spec.license = 'MIT'
|
25
24
|
|
26
25
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
27
26
|
f.match(%r{^(test|spec|features)/})
|
28
27
|
end
|
29
|
-
spec.bindir =
|
28
|
+
spec.bindir = 'exe'
|
30
29
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
31
|
-
spec.require_paths = [
|
32
|
-
|
33
|
-
spec.add_development_dependency
|
34
|
-
spec.add_development_dependency
|
35
|
-
spec.add_development_dependency
|
36
|
-
spec.add_development_dependency
|
37
|
-
spec.add_development_dependency
|
38
|
-
spec.add_development_dependency
|
39
|
-
spec.add_dependency
|
40
|
-
spec.add_dependency "sinatra"
|
30
|
+
spec.require_paths = ['lib']
|
31
|
+
|
32
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
33
|
+
spec.add_development_dependency 'mock_redis'
|
34
|
+
spec.add_development_dependency 'rack-test'
|
35
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
36
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
37
|
+
spec.add_development_dependency 'rspec-sidekiq', '~> 3.0'
|
38
|
+
spec.add_dependency 'sidekiq'
|
41
39
|
end
|
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.0.5
|
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:
|
11
|
+
date: 2021-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -25,33 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.16'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '10.0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '10.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec
|
28
|
+
name: mock_redis
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- - "
|
31
|
+
- - ">="
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
33
|
+
version: '0'
|
48
34
|
type: :development
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
|
-
- - "
|
38
|
+
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
40
|
+
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rack-test
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,49 +53,49 @@ dependencies:
|
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
56
|
+
name: rake
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - "~>"
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
61
|
+
version: '10.0'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
66
|
- - "~>"
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
68
|
+
version: '10.0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
70
|
+
name: rspec
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- - "
|
73
|
+
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
75
|
+
version: '3.0'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- - "
|
80
|
+
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
82
|
+
version: '3.0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: sidekiq
|
84
|
+
name: rspec-sidekiq
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
|
-
- - "
|
87
|
+
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :
|
89
|
+
version: '3.0'
|
90
|
+
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- - "
|
94
|
+
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
96
|
+
version: '3.0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
98
|
+
name: sidekiq
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
101
|
- - ">="
|
@@ -175,8 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
161
|
- !ruby/object:Gem::Version
|
176
162
|
version: '0'
|
177
163
|
requirements: []
|
178
|
-
|
179
|
-
rubygems_version: 2.7.6
|
164
|
+
rubygems_version: 3.0.3
|
180
165
|
signing_key:
|
181
166
|
specification_version: 4
|
182
167
|
summary: Liveness probe for sidekiq on Kubernetes deployments.
|