sidekiq_alive 2.0.2 → 2.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88b19f6100070c1ec21dcb21c0ffeed162339684ca9151d5f1fc96bc0a08d4c7
4
- data.tar.gz: 368c75147329255b31de98b83a3ccfa635ff7bb51624777875fc2c00751b0102
3
+ metadata.gz: d3bef9746bd43d32416e55a9f5b8bf719498ae3daa6c50bb018bddecbc49234c
4
+ data.tar.gz: 7f1cb14b61f71af4a4e15437e0395413d9861b86d3a3cf214c0bf5a88dc7e98a
5
5
  SHA512:
6
- metadata.gz: b5aaf5daef764005e61d19b21e30ba9fb811b017ee767e9fb51e832b4186f3f107f6b7001907457bed6a2230f368f3b11b396ee95032d81e5a65b799627af404
7
- data.tar.gz: 9b3fd7ca0f1218f88f517f78d11221c7e92c71c6776a53a77aacb3567c9a63f343d4473d4a453a116271807e7d249ea99ee81f2763fc44ac792f59502eb36bd4
6
+ metadata.gz: 61789b71b9a1819e38f69763348c06af301f3ac7fb0e4164728a4802db3846700b97aff2b78dec75f44df71b1f230b9d79fff7234d14989639cad50e90ab3347
7
+ data.tar.gz: 2b6e99585bbd51e205a09b16786eeae165b9657c7aa1683fca0feb8c15c20b49b67e83a413ac9960b6f3ae19a44d74480220b52535c9893c9a3ee7ad092b4434
@@ -1,9 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sidekiq_alive (2.0.2)
4
+ sidekiq_alive (2.0.3)
5
5
  sidekiq
6
- sinatra
7
6
 
8
7
  GEM
9
8
  remote: https://rubygems.org/
@@ -13,8 +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.1.1)
17
- ruby2_keywords (~> 0.0.1)
18
15
  pry (0.12.2)
19
16
  coderay (~> 1.1.0)
20
17
  method_source (~> 0.9.0)
@@ -41,18 +38,11 @@ GEM
41
38
  rspec-core (~> 3.0, >= 3.0.0)
42
39
  sidekiq (>= 2.4.0)
43
40
  rspec-support (3.8.0)
44
- ruby2_keywords (0.0.2)
45
41
  sidekiq (5.2.5)
46
42
  connection_pool (~> 2.2, >= 2.2.2)
47
43
  rack (>= 1.5.0)
48
44
  rack-protection (>= 1.5.0)
49
45
  redis (>= 3.3.5, < 5)
50
- sinatra (2.0.5)
51
- mustermann (~> 1.0)
52
- rack (~> 2.0)
53
- rack-protection (= 2.0.5)
54
- tilt (~> 2.0)
55
- tilt (2.0.10)
56
46
 
57
47
  PLATFORMS
58
48
  ruby
data/README.md CHANGED
@@ -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
 
@@ -197,11 +197,19 @@ curl localhost:7433
197
197
  ```ruby
198
198
  SidekiqAlive.setup do |config|
199
199
  # ==> Server port
200
- # Port to bind the server
200
+ # Port to bind the server.
201
+ # Can also be set with the environment variable SIDEKIQ_ALIVE_PORT.
201
202
  # default: 7433
202
203
  #
203
204
  # config.port = 7433
204
205
 
206
+ # ==> Server path
207
+ # HTTP path to respond to.
208
+ # Can also be set with the environment variable SIDEKIQ_ALIVE_PATH.
209
+ # default: '/'
210
+ #
211
+ # config.path = '/'
212
+
205
213
  # ==> Liveness key
206
214
  # Key to be stored in Redis as probe of liveness
207
215
  # default: "SIDEKIQ::LIVENESS_PROBE_TIMESTAMP"
@@ -233,11 +241,11 @@ SidekiqAlive.setup do |config|
233
241
  # config.queue_prefix = :other
234
242
 
235
243
  # ==> Rack server
236
- # Web server used to run Sinatra
237
- # default: webrick
244
+ # Web server used to serve an HTTP response.
245
+ # Can also be set with the environment variable SIDEKIQ_ALIVE_SERVER.
246
+ # default: 'webrick'
238
247
  #
239
- # config.server = 'puma'
240
-
248
+ # config.server = 'puma'
241
249
  end
242
250
  ```
243
251
 
@@ -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?
@@ -5,6 +5,7 @@ module SidekiqAlive
5
5
  include Singleton
6
6
 
7
7
  attr_accessor :port,
8
+ :path,
8
9
  :liveness_key,
9
10
  :time_to_live,
10
11
  :callback,
@@ -18,6 +19,7 @@ module SidekiqAlive
18
19
 
19
20
  def set_defaults
20
21
  @port = ENV['SIDEKIQ_ALIVE_PORT'] || 7433
22
+ @path = ENV['SIDEKIQ_ALIVE_PATH'] || '/'
21
23
  @liveness_key = 'SIDEKIQ::LIVENESS_PROBE_TIMESTAMP'
22
24
  @time_to_live = 10 * 60
23
25
  @callback = proc {}
@@ -1,21 +1,40 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'sinatra/base'
3
+ require 'rack'
4
+
4
5
  module SidekiqAlive
5
- class Server < Sinatra::Base
6
- set :bind, '0.0.0.0'
7
- set :port, -> { SidekiqAlive.config.port }
8
- set :server, -> { SidekiqAlive.config.server }
9
-
10
- get '/' do
11
- if SidekiqAlive.alive?
12
- status 200
13
- body 'Alive!'
14
- else
15
- response = "Can't find the alive key"
16
- SidekiqAlive.logger.error(response)
17
- status 404
18
- body response
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: '0.0.0.0')
14
+ end
15
+
16
+ def port
17
+ SidekiqAlive.config.port
18
+ end
19
+
20
+ def path
21
+ SidekiqAlive.config.path
22
+ end
23
+
24
+ def server
25
+ SidekiqAlive.config.server
26
+ end
27
+
28
+ def call(env)
29
+ if Rack::Request.new(env).path != path
30
+ [404, {}, ['Not found']]
31
+ elsif SidekiqAlive.alive?
32
+ [200, {}, ['Alive!']]
33
+ else
34
+ response = "Can't find the alive key"
35
+ SidekiqAlive.logger.error(response)
36
+ [404, {}, [response]]
37
+ end
19
38
  end
20
39
  end
21
40
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SidekiqAlive
4
- VERSION = '2.0.2'
4
+ VERSION = '2.0.3'
5
5
  end
@@ -36,5 +36,4 @@ Gem::Specification.new do |spec|
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'
39
- spec.add_dependency 'sinatra'
40
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.2
4
+ version: 2.0.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: 2020-06-16 00:00:00.000000000 Z
11
+ date: 2020-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,20 +108,6 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: sinatra
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
111
  description: |-
126
112
  SidekiqAlive offers a solution to add liveness probe of a Sidekiq instance.
127
113