sidekiq_alive 2.0.6 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf72b576226b373f7e661aae05d54ec27fcb3e5f612036ab86bd89a18d23b289
4
- data.tar.gz: f3148f40e24f04bf743b3f097a12045554109a2a8af965e7d84ef9344f7b4c23
3
+ metadata.gz: 4c19610b0d260ba9eda34d083413cbd75551e45340537f55e9105611908f03e1
4
+ data.tar.gz: b45767dc71d81d677750cb1b267cdfedba351ebac650018671cc3a213510d3be
5
5
  SHA512:
6
- metadata.gz: 56b9231da7d95a74a0a0067ca06a91b921502af01b0da62975dfd4b89dcbc2a9694ce3bf6925dac2cc3f9ba1c5453e1627c4a44432a65f5b2fb17a66ee5ef8af
7
- data.tar.gz: 9c116fef8bfbfe1db518408b38b2abc3701faf39e21273073e9ca86d295e0c827fa843153fd8e6d9be6d52740203261351292e6f19e3cb6da25b0f639c379d26
6
+ metadata.gz: a267f850ae1eaf27c30df599a880c1c896412e5aedd748c5a20177cfd1148d4e0b64f8a723d330693de3ae5e2af296b1193941564f7f5b27c723b9181bb3afc2
7
+ data.tar.gz: ea7213ea28b84271223ed9fcd014d7384e1ffac05b089fdd26a2bafdb37ec32238f5b43c0b1df5557e7e5e656e5a30c9d872b3f876b8ea4f3bcea05be75dce67
@@ -0,0 +1,48 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [master]
13
+ pull_request:
14
+ branches: [master]
15
+
16
+ jobs:
17
+ test:
18
+ runs-on: ubuntu-latest
19
+ strategy:
20
+ matrix:
21
+ ruby-version: ["2.6", "2.7", "3.0"]
22
+ services:
23
+ # Label used to access the service container
24
+ redis:
25
+ # Docker Hub image
26
+ image: redis
27
+ # Set health checks to wait until redis has started
28
+ options: >-
29
+ --health-cmd "redis-cli ping"
30
+ --health-interval 10s
31
+ --health-timeout 5s
32
+ --health-retries 5
33
+ ports:
34
+ # Maps port 6379 on service container to the host
35
+ - 6379:6379
36
+
37
+ steps:
38
+ - uses: actions/checkout@v2
39
+ - name: Set up Ruby
40
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
41
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
42
+ # uses: ruby/setup-ruby@v1
43
+ uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
44
+ with:
45
+ ruby-version: ${{ matrix.ruby-version }}
46
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
47
+ - name: Run tests
48
+ run: bundle exec rake
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.6)
4
+ sidekiq_alive (2.1.3)
5
5
  sidekiq
6
6
 
7
7
  GEM
@@ -20,7 +20,7 @@ GEM
20
20
  rack
21
21
  rack-test (1.1.0)
22
22
  rack (>= 1.0, < 3)
23
- rake (10.5.0)
23
+ rake (13.0.3)
24
24
  redis (4.1.0)
25
25
  rspec (3.8.0)
26
26
  rspec-core (~> 3.8.0)
@@ -48,14 +48,14 @@ PLATFORMS
48
48
  ruby
49
49
 
50
50
  DEPENDENCIES
51
- bundler (~> 1.16)
51
+ bundler (> 1.16)
52
52
  mock_redis
53
53
  pry
54
54
  rack-test
55
- rake (~> 10.0)
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
- 1.17.3
61
+ 2.2.22
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SidekiqAlive
2
2
 
3
- [![Build Status](https://travis-ci.org/arturictus/sidekiq_alive.svg?branch=master)](https://travis-ci.org/arturictus/sidekiq_alive)
3
+ ![build](https://github.com/arturictus/sidekiq_alive/actions/workflows/ruby.yml/badge.svg)
4
4
  [![Maintainability](https://api.codeclimate.com/v1/badges/35c39124564ffeb0ce4e/maintainability)](https://codeclimate.com/github/arturictus/sidekiq_alive/maintainability)
5
5
  [![Test Coverage](https://api.codeclimate.com/v1/badges/35c39124564ffeb0ce4e/test_coverage)](https://codeclimate.com/github/arturictus/sidekiq_alive/test_coverage)
6
6
 
@@ -0,0 +1,7 @@
1
+ version: '3.6'
2
+ services:
3
+ redis:
4
+ image: redis
5
+ ports:
6
+ - 6379:6379
7
+ network_mode: host
@@ -20,15 +20,15 @@ module SidekiqAlive
20
20
  end
21
21
 
22
22
  def set_defaults
23
- @host = ENV['SIDEKIQ_ALIVE_HOST'] || '0.0.0.0'
24
- @port = ENV['SIDEKIQ_ALIVE_PORT'] || 7433
25
- @path = ENV['SIDEKIQ_ALIVE_PATH'] || '/'
23
+ @host = ENV.fetch('SIDEKIQ_ALIVE_HOST', '0.0.0.0')
24
+ @port = ENV.fetch('SIDEKIQ_ALIVE_PORT', 7433)
25
+ @path = ENV.fetch('SIDEKIQ_ALIVE_PATH', '/')
26
26
  @liveness_key = 'SIDEKIQ::LIVENESS_PROBE_TIMESTAMP'
27
27
  @time_to_live = 10 * 60
28
28
  @callback = proc {}
29
29
  @registered_instance_key = 'SIDEKIQ_REGISTERED_INSTANCE'
30
30
  @queue_prefix = :sidekiq_alive
31
- @server = ENV['SIDEKIQ_ALIVE_SERVER'] || 'webrick'
31
+ @server = ENV.fetch('SIDEKIQ_ALIVE_SERVER', 'webrick')
32
32
  @custom_liveness_probe = proc { true }
33
33
  end
34
34
 
@@ -10,7 +10,7 @@ module SidekiqAlive
10
10
 
11
11
  Signal.trap('TERM') { handler.shutdown }
12
12
 
13
- handler.run(self, Port: port, Host: host)
13
+ handler.run(self, Port: port, Host: host, AccessLog: [], Logger: SidekiqAlive.logger)
14
14
  end
15
15
 
16
16
  def host
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SidekiqAlive
4
- VERSION = '2.0.6'
4
+ VERSION = '2.1.3'
5
5
  end
data/lib/sidekiq_alive.rb CHANGED
@@ -52,7 +52,14 @@ module SidekiqAlive
52
52
  end
53
53
 
54
54
  def self.registered_instances
55
- redis.keys("#{config.registered_instance_key}::*")
55
+ deep_scan("#{config.registered_instance_key}::*")
56
+ end
57
+
58
+ def self.deep_scan(keyword, keys = [], cursor = 0)
59
+ next_cursor, found_keys = *redis { |r| r }.scan(cursor, match: keyword)
60
+ keys += found_keys
61
+ return keys if next_cursor == "0" || found_keys.blank?
62
+ deep_scan(keyword, keys, next_cursor)
56
63
  end
57
64
 
58
65
  def self.purge_pending_jobs
@@ -156,4 +163,4 @@ end
156
163
  require 'sidekiq_alive/worker'
157
164
  require 'sidekiq_alive/server'
158
165
 
159
- SidekiqAlive.start unless ENV['DISABLE_SIDEKIQ_ALIVE']
166
+ SidekiqAlive.start unless ENV.fetch('DISABLE_SIDEKIQ_ALIVE', '').casecmp("true") == 0
@@ -29,10 +29,10 @@ Gem::Specification.new do |spec|
29
29
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
30
  spec.require_paths = ['lib']
31
31
 
32
- spec.add_development_dependency 'bundler', '~> 1.16'
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', '~> 10.0'
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,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_alive
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.1.3
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-04-22 00:00:00.000000000 Z
11
+ date: 2021-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.16'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
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: '10.0'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -125,8 +125,10 @@ executables: []
125
125
  extensions: []
126
126
  extra_rdoc_files: []
127
127
  files:
128
+ - ".github/workflows/ruby.yml"
128
129
  - ".gitignore"
129
130
  - ".rspec"
131
+ - ".tool-versions"
130
132
  - ".travis.yml"
131
133
  - CODE_OF_CONDUCT.md
132
134
  - Gemfile
@@ -136,6 +138,7 @@ files:
136
138
  - Rakefile
137
139
  - bin/console
138
140
  - bin/setup
141
+ - docker-compose.yml
139
142
  - lib/sidekiq_alive.rb
140
143
  - lib/sidekiq_alive/config.rb
141
144
  - lib/sidekiq_alive/server.rb
@@ -161,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
164
  - !ruby/object:Gem::Version
162
165
  version: '0'
163
166
  requirements: []
164
- rubygems_version: 3.0.3
167
+ rubygems_version: 3.1.6
165
168
  signing_key:
166
169
  specification_version: 4
167
170
  summary: Liveness probe for sidekiq on Kubernetes deployments.