sidekiq_alive 2.4.0 → 2.5.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/lib/sidekiq_alive/config.rb +4 -0
- data/lib/sidekiq_alive/server/base.rb +1 -1
- data/lib/sidekiq_alive/server/default.rb +1 -1
- data/lib/sidekiq_alive/server/rack.rb +1 -1
- data/lib/sidekiq_alive/version.rb +1 -1
- data/lib/sidekiq_alive/worker.rb +13 -1
- data/lib/sidekiq_alive.rb +1 -1
- metadata +28 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 785267eeba9c94f17b29d9df50a17aaa787bfa32b321dc3c097c5d375fc68ef7
|
4
|
+
data.tar.gz: ace6c8c8b8285b3a4963db034a7ab439594adb4123db4957829ca81b3677c07b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51c04d062e6e2bdbdb6bdbcd803024d642847c3a4fe46df673790cc76b1ce1916aae2f90069bc00fd727242b5956ae9646fb52fa227869a08065099a8a09cd95
|
7
|
+
data.tar.gz: 3afc2cd02f1b64e68e99e06a556c9c8aaafff5f717f9fd91370b70fb239834bfcf3626819e6e19a054e50ba29bf977503848e4a02aa306727c1b68b79c391815
|
data/lib/sidekiq_alive/config.rb
CHANGED
data/lib/sidekiq_alive/worker.rb
CHANGED
@@ -12,8 +12,9 @@ module SidekiqAlive
|
|
12
12
|
|
13
13
|
# Writes the liveness in Redis
|
14
14
|
write_living_probe
|
15
|
+
remove_orphaned_queues
|
15
16
|
# schedules next living probe
|
16
|
-
self.class.perform_in(config.
|
17
|
+
self.class.perform_in(config.worker_interval, current_hostname)
|
17
18
|
end
|
18
19
|
|
19
20
|
def write_living_probe
|
@@ -29,6 +30,17 @@ module SidekiqAlive
|
|
29
30
|
end
|
30
31
|
end
|
31
32
|
|
33
|
+
# Removes orphaned Sidekiq queues left behind by unexpected instance shutdowns (e.g., due to OOM)
|
34
|
+
def remove_orphaned_queues
|
35
|
+
# If the worker isn't executed within this window, the lifeness key expires
|
36
|
+
latency_threshold = config.time_to_live - config.worker_interval
|
37
|
+
Sidekiq::Queue.all
|
38
|
+
.filter { |q| q.name.start_with?(config.queue_prefix.to_s) }
|
39
|
+
.filter { |q| q.latency > latency_threshold }
|
40
|
+
.filter { |q| q.size == 1 && q.all? { |job| job.klass == self.class.name } }
|
41
|
+
.each(&:clear)
|
42
|
+
end
|
43
|
+
|
32
44
|
def current_hostname
|
33
45
|
SidekiqAlive.hostname
|
34
46
|
end
|
data/lib/sidekiq_alive.rb
CHANGED
@@ -148,7 +148,7 @@ module SidekiqAlive
|
|
148
148
|
end
|
149
149
|
|
150
150
|
def successful_startup_text
|
151
|
-
"Successfully started sidekiq-alive, registered with key: "\
|
151
|
+
"Successfully started sidekiq-alive, registered with key: " \
|
152
152
|
"#{current_instance_register_key} on set #{HOSTNAME_REGISTRY}"
|
153
153
|
end
|
154
154
|
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq_alive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrejs Cunskis
|
8
8
|
- Artur Pañach
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2025-05-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -73,14 +73,14 @@ dependencies:
|
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
76
|
+
version: '5.0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
83
|
+
version: '5.0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: rubocop-shopify
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,20 +95,34 @@ dependencies:
|
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '2.10'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: semver2
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - "~>"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '3.4'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '3.4'
|
98
112
|
- !ruby/object:Gem::Dependency
|
99
113
|
name: solargraph
|
100
114
|
requirement: !ruby/object:Gem::Requirement
|
101
115
|
requirements:
|
102
116
|
- - "~>"
|
103
117
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
118
|
+
version: 0.54.0
|
105
119
|
type: :development
|
106
120
|
prerelease: false
|
107
121
|
version_requirements: !ruby/object:Gem::Requirement
|
108
122
|
requirements:
|
109
123
|
- - "~>"
|
110
124
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.
|
125
|
+
version: 0.54.0
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: gserver
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,7 +146,7 @@ dependencies:
|
|
132
146
|
version: '5'
|
133
147
|
- - "<"
|
134
148
|
- !ruby/object:Gem::Version
|
135
|
-
version: '
|
149
|
+
version: '9'
|
136
150
|
type: :runtime
|
137
151
|
prerelease: false
|
138
152
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -142,7 +156,7 @@ dependencies:
|
|
142
156
|
version: '5'
|
143
157
|
- - "<"
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
159
|
+
version: '9'
|
146
160
|
description: |
|
147
161
|
SidekiqAlive offers a solution to add liveness probe of a Sidekiq instance.
|
148
162
|
|
@@ -183,9 +197,9 @@ metadata:
|
|
183
197
|
homepage_uri: https://github.com/arturictus/sidekiq_alive
|
184
198
|
source_code_uri: https://github.com/arturictus/sidekiq_alive
|
185
199
|
changelog_uri: https://github.com/arturictus/sidekiq_alive/releases
|
186
|
-
documentation_uri: https://github.com/arturictus/sidekiq_alive/blob/v2.
|
200
|
+
documentation_uri: https://github.com/arturictus/sidekiq_alive/blob/v2.5.0/README.md
|
187
201
|
bug_tracker_uri: https://github.com/arturictus/sidekiq_alive/issues
|
188
|
-
post_install_message:
|
202
|
+
post_install_message:
|
189
203
|
rdoc_options: []
|
190
204
|
require_paths:
|
191
205
|
- lib
|
@@ -193,15 +207,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
207
|
requirements:
|
194
208
|
- - ">="
|
195
209
|
- !ruby/object:Gem::Version
|
196
|
-
version:
|
210
|
+
version: '3.1'
|
197
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
212
|
requirements:
|
199
213
|
- - ">="
|
200
214
|
- !ruby/object:Gem::Version
|
201
215
|
version: '0'
|
202
216
|
requirements: []
|
203
|
-
rubygems_version: 3.
|
204
|
-
signing_key:
|
217
|
+
rubygems_version: 3.5.22
|
218
|
+
signing_key:
|
205
219
|
specification_version: 4
|
206
220
|
summary: Liveness probe for sidekiq on Kubernetes deployments.
|
207
221
|
test_files: []
|