sidekiq_alive 2.2.3 → 2.3.1
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/README.md +8 -0
- data/lib/sidekiq_alive/config.rb +3 -1
- data/lib/sidekiq_alive/redis/base.rb +1 -1
- data/lib/sidekiq_alive/redis/redis_client_gem.rb +20 -7
- data/lib/sidekiq_alive/redis/redis_gem.rb +9 -9
- data/lib/sidekiq_alive/version.rb +1 -1
- data/lib/sidekiq_alive.rb +8 -7
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 63e0e0239c3b38ded118c8bd79cfda8e45417b7be5aa4c3b19243bfc8490ddc3
|
4
|
+
data.tar.gz: e263a81dd897da3db9f5a84a79cab8353027e689da700b8871c1226ee68d8da5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88782bc7948ceeadc8ee7b2cb8c06cc9c5021da5891e4f333d620c5769a87c120d140cb1374c8886f3881b2c9019ff1855eb4710a838b085adbcc9f8681e3673
|
7
|
+
data.tar.gz: ce6c00b601cc2304568857c7d252a6a7b19693d7e71e6ad7c39f1381b99f8e010cbba91a1195bf073b1381ce0fc3d13cb6c1a736a21e8295fb2291fd485060fb
|
data/README.md
CHANGED
@@ -268,6 +268,14 @@ SidekiqAlive.setup do |config|
|
|
268
268
|
# default: 'webrick'
|
269
269
|
#
|
270
270
|
# config.server = 'puma'
|
271
|
+
|
272
|
+
# ==> Concurrency
|
273
|
+
# The maximum number of Redis connections requested for the SidekiqAlive pool.
|
274
|
+
# Can also be set with the environment variable SIDEKIQ_ALIVE_CONCURRENCY.
|
275
|
+
# NOTE: only effects Sidekiq 7 or greater.
|
276
|
+
# default: 2
|
277
|
+
#
|
278
|
+
# config.concurrency = 3
|
271
279
|
end
|
272
280
|
```
|
273
281
|
|
data/lib/sidekiq_alive/config.rb
CHANGED
@@ -15,7 +15,8 @@ module SidekiqAlive
|
|
15
15
|
:server,
|
16
16
|
:custom_liveness_probe,
|
17
17
|
:logger,
|
18
|
-
:shutdown_callback
|
18
|
+
:shutdown_callback,
|
19
|
+
:concurrency
|
19
20
|
|
20
21
|
def initialize
|
21
22
|
set_defaults
|
@@ -33,6 +34,7 @@ module SidekiqAlive
|
|
33
34
|
@server = ENV.fetch("SIDEKIQ_ALIVE_SERVER", "webrick")
|
34
35
|
@custom_liveness_probe = proc { true }
|
35
36
|
@shutdown_callback = proc {}
|
37
|
+
@concurrency = Integer(ENV.fetch("SIDEKIQ_ALIVE_CONCURRENCY", 2), exception: false) || 2
|
36
38
|
end
|
37
39
|
|
38
40
|
def registration_ttl
|
@@ -7,32 +7,45 @@ module SidekiqAlive
|
|
7
7
|
# Wrapper for `redis-client` gem used by `sidekiq` > 7
|
8
8
|
# https://github.com/redis-rb/redis-client
|
9
9
|
class RedisClientGem < Base
|
10
|
+
def initialize
|
11
|
+
super
|
12
|
+
|
13
|
+
@capsule = Sidekiq.default_configuration.capsules[CAPSULE_NAME]
|
14
|
+
end
|
15
|
+
|
10
16
|
def set(key, time:, ex:)
|
11
|
-
|
17
|
+
redis { |r| r.call("SET", key, time, ex: ex) }
|
12
18
|
end
|
13
19
|
|
14
20
|
def get(key)
|
15
|
-
|
21
|
+
redis { |r| r.call("GET", key) }
|
16
22
|
end
|
17
23
|
|
18
24
|
def zadd(set_key, ex, key)
|
19
|
-
|
25
|
+
redis { |r| r.call("ZADD", set_key, ex, key) }
|
20
26
|
end
|
21
27
|
|
22
28
|
def zrange(set_key, start, stop)
|
23
|
-
|
29
|
+
redis { |r| r.call("ZRANGE", set_key, start, stop) }
|
24
30
|
end
|
25
31
|
|
26
32
|
def zrangebyscore(set_key, min, max)
|
27
|
-
|
33
|
+
redis { |r| r.call("ZRANGEBYSCORE", set_key, min, max) }
|
28
34
|
end
|
29
35
|
|
30
36
|
def zrem(set_key, key)
|
31
|
-
|
37
|
+
redis { |r| r.call("ZREM", set_key, key) }
|
32
38
|
end
|
33
39
|
|
34
40
|
def delete(key)
|
35
|
-
|
41
|
+
redis { |r| r.call("DEL", key) }
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def redis(&block)
|
47
|
+
# Default to Sidekiq.redis if capsule is not configured yet but redis adapter is accessed
|
48
|
+
(@capsule || Sidekiq).redis(&block)
|
36
49
|
end
|
37
50
|
end
|
38
51
|
end
|
@@ -8,37 +8,37 @@ module SidekiqAlive
|
|
8
8
|
# https://github.com/redis/redis-rb
|
9
9
|
class RedisGem < Base
|
10
10
|
def set(key, time:, ex:)
|
11
|
-
redis.set(key, time, ex: ex)
|
11
|
+
redis { |r| r.set(key, time, ex: ex) }
|
12
12
|
end
|
13
13
|
|
14
14
|
def get(key)
|
15
|
-
redis.get(key)
|
15
|
+
redis { |r| r.get(key) }
|
16
16
|
end
|
17
17
|
|
18
18
|
def zadd(set_key, ex, key)
|
19
|
-
redis.zadd(set_key, ex, key)
|
19
|
+
redis { |r| r.zadd(set_key, ex, key) }
|
20
20
|
end
|
21
21
|
|
22
22
|
def zrange(set_key, start, stop)
|
23
|
-
redis.zrange(set_key, start, stop)
|
23
|
+
redis { |r| r.zrange(set_key, start, stop) }
|
24
24
|
end
|
25
25
|
|
26
26
|
def zrangebyscore(set_key, min, max)
|
27
|
-
redis.zrangebyscore(set_key, min, max)
|
27
|
+
redis { |r| r.zrangebyscore(set_key, min, max) }
|
28
28
|
end
|
29
29
|
|
30
30
|
def zrem(set_key, key)
|
31
|
-
redis.zrem(set_key, key)
|
31
|
+
redis { |r| r.zrem(set_key, key) }
|
32
32
|
end
|
33
33
|
|
34
34
|
def delete(key)
|
35
|
-
redis.del(key)
|
35
|
+
redis { |r| r.del(key) }
|
36
36
|
end
|
37
37
|
|
38
38
|
private
|
39
39
|
|
40
|
-
def redis
|
41
|
-
Sidekiq.redis
|
40
|
+
def redis(&block)
|
41
|
+
Sidekiq.redis(&block)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
data/lib/sidekiq_alive.rb
CHANGED
@@ -10,20 +10,21 @@ require "sidekiq_alive/redis"
|
|
10
10
|
|
11
11
|
module SidekiqAlive
|
12
12
|
HOSTNAME_REGISTRY = "sidekiq-alive-hostnames"
|
13
|
+
CAPSULE_NAME = "sidekiq-alive"
|
14
|
+
|
13
15
|
class << self
|
14
16
|
def start
|
15
17
|
Sidekiq.configure_server do |sq_config|
|
16
18
|
sq_config.on(:startup) do
|
17
19
|
SidekiqAlive::Worker.sidekiq_options(queue: current_queue)
|
18
|
-
if Helpers.sidekiq_7
|
19
|
-
sq_config.queues
|
20
|
-
else
|
21
|
-
sq_config.respond_to?(:[]) ? sq_config[:queues] : sq_config.options[:queues]
|
22
|
-
end.unshift(current_queue)
|
23
20
|
|
24
|
-
# If no weight is set, webui might not show this queue for given instance/process.
|
25
21
|
if Helpers.sidekiq_7
|
26
|
-
sq_config.
|
22
|
+
sq_config.capsule(CAPSULE_NAME) do |cap|
|
23
|
+
cap.concurrency = config.concurrency
|
24
|
+
cap.queues = [current_queue]
|
25
|
+
end
|
26
|
+
else
|
27
|
+
(sq_config.respond_to?(:[]) ? sq_config[:queues] : sq_config.options[:queues]).unshift(current_queue)
|
27
28
|
end
|
28
29
|
|
29
30
|
logger.info(startup_info)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq_alive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrejs Cunskis
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-10-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -87,14 +87,14 @@ dependencies:
|
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
90
|
+
version: '4.0'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
97
|
+
version: '4.0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: rubocop-shopify
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -213,7 +213,7 @@ metadata:
|
|
213
213
|
homepage_uri: https://github.com/arturictus/sidekiq_alive
|
214
214
|
source_code_uri: https://github.com/arturictus/sidekiq_alive
|
215
215
|
changelog_uri: https://github.com/arturictus/sidekiq_alive/releases
|
216
|
-
documentation_uri: https://github.com/arturictus/sidekiq_alive/blob/v2.
|
216
|
+
documentation_uri: https://github.com/arturictus/sidekiq_alive/blob/v2.3.1/README.md
|
217
217
|
bug_tracker_uri: https://github.com/arturictus/sidekiq_alive/issues
|
218
218
|
post_install_message:
|
219
219
|
rdoc_options: []
|