sidekiq_alive 2.0.5 → 2.0.6
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.lock +2 -2
- data/README.md +11 -6
- data/lib/sidekiq_alive/config.rb +3 -1
- data/lib/sidekiq_alive/version.rb +1 -1
- data/lib/sidekiq_alive/worker.rb +7 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: cf72b576226b373f7e661aae05d54ec27fcb3e5f612036ab86bd89a18d23b289
         | 
| 4 | 
            +
              data.tar.gz: f3148f40e24f04bf743b3f097a12045554109a2a8af965e7d84ef9344f7b4c23
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 56b9231da7d95a74a0a0067ca06a91b921502af01b0da62975dfd4b89dcbc2a9694ce3bf6925dac2cc3f9ba1c5453e1627c4a44432a65f5b2fb17a66ee5ef8af
         | 
| 7 | 
            +
              data.tar.gz: 9c116fef8bfbfe1db518408b38b2abc3701faf39e21273073e9ca86d295e0c827fa843153fd8e6d9be6d52740203261351292e6f19e3cb6da25b0f639c379d26
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                sidekiq_alive (2.0. | 
| 4 | 
            +
                sidekiq_alive (2.0.6)
         | 
| 5 5 | 
             
                  sidekiq
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM
         | 
| @@ -15,7 +15,7 @@ GEM | |
| 15 15 | 
             
                pry (0.12.2)
         | 
| 16 16 | 
             
                  coderay (~> 1.1.0)
         | 
| 17 17 | 
             
                  method_source (~> 0.9.0)
         | 
| 18 | 
            -
                rack (2. | 
| 18 | 
            +
                rack (2.2.3)
         | 
| 19 19 | 
             
                rack-protection (2.0.5)
         | 
| 20 20 | 
             
                  rack
         | 
| 21 21 | 
             
                rack-test (1.1.0)
         | 
    
        data/README.md
    CHANGED
    
    | @@ -7,7 +7,7 @@ | |
| 7 7 | 
             
            SidekiqAlive offers a solution to add liveness probe for a Sidekiq instance deployed in Kubernetes.
         | 
| 8 8 | 
             
            This library can be used to check sidekiq health outside kubernetes.
         | 
| 9 9 |  | 
| 10 | 
            -
             | 
| 10 | 
            +
            **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 |  | 
| @@ -52,7 +52,6 @@ Or install it yourself as: | |
| 52 52 |  | 
| 53 53 | 
             
                $ gem install sidekiq_alive
         | 
| 54 54 |  | 
| 55 | 
            -
             | 
| 56 55 | 
             
            ## Usage
         | 
| 57 56 |  | 
| 58 57 | 
             
            SidekiqAlive will start when running `sidekiq` command.
         | 
| @@ -68,8 +67,7 @@ curl localhost:7433 | |
| 68 67 | 
             
            #=> Alive!
         | 
| 69 68 | 
             
            ```
         | 
| 70 69 |  | 
| 71 | 
            -
             | 
| 72 | 
            -
            __how to disable?__
         | 
| 70 | 
            +
            **how to disable?**
         | 
| 73 71 | 
             
            You can disabled by setting `ENV` variable `DISABLE_SIDEKIQ_ALIVE`
         | 
| 74 72 | 
             
            example:
         | 
| 75 73 |  | 
| @@ -115,7 +113,7 @@ spec: | |
| 115 113 | 
             
                    preStop:
         | 
| 116 114 | 
             
                      exec:
         | 
| 117 115 | 
             
                        # SIGTERM triggers a quick exit; gracefully terminate instead
         | 
| 118 | 
            -
                        command: [ | 
| 116 | 
            +
                        command: ['bundle', 'exec', 'sidekiqctl', 'quiet']
         | 
| 119 117 | 
             
              terminationGracePeriodSeconds: 60 # put your longest Job time here plus security time.
         | 
| 120 118 | 
             
            ```
         | 
| 121 119 |  | 
| @@ -172,7 +170,7 @@ spec: | |
| 172 170 | 
             
                    preStop:
         | 
| 173 171 | 
             
                      exec:
         | 
| 174 172 | 
             
                        # SIGTERM triggers a quick exit; gracefully terminate instead
         | 
| 175 | 
            -
                        command: [ | 
| 173 | 
            +
                        command: ['kube/sidekiq_quiet']
         | 
| 176 174 | 
             
              terminationGracePeriodSeconds: 60 # put your longest Job time here plus security time.
         | 
| 177 175 | 
             
            ```
         | 
| 178 176 |  | 
| @@ -217,6 +215,13 @@ SidekiqAlive.setup do |config| | |
| 217 215 | 
             
              #
         | 
| 218 216 | 
             
              #   config.path = '/'
         | 
| 219 217 |  | 
| 218 | 
            +
              # ==> Custom Liveness Probe
         | 
| 219 | 
            +
              # Extra check to decide if restart the pod or not for example connection to DB.
         | 
| 220 | 
            +
              # `false`, `nil` or `raise` will not write the liveness probe
         | 
| 221 | 
            +
              # default: proc { true }
         | 
| 222 | 
            +
              #
         | 
| 223 | 
            +
              #     config.custom_liveness_probe = proc { db_running? }
         | 
| 224 | 
            +
             | 
| 220 225 | 
             
              # ==> Liveness key
         | 
| 221 226 | 
             
              # Key to be stored in Redis as probe of liveness
         | 
| 222 227 | 
             
              # default: "SIDEKIQ::LIVENESS_PROBE_TIMESTAMP"
         | 
    
        data/lib/sidekiq_alive/config.rb
    CHANGED
    
    | @@ -12,7 +12,8 @@ module SidekiqAlive | |
| 12 12 | 
             
                              :callback,
         | 
| 13 13 | 
             
                              :registered_instance_key,
         | 
| 14 14 | 
             
                              :queue_prefix,
         | 
| 15 | 
            -
                              :server
         | 
| 15 | 
            +
                              :server,
         | 
| 16 | 
            +
                              :custom_liveness_probe
         | 
| 16 17 |  | 
| 17 18 | 
             
                def initialize
         | 
| 18 19 | 
             
                  set_defaults
         | 
| @@ -28,6 +29,7 @@ module SidekiqAlive | |
| 28 29 | 
             
                  @registered_instance_key = 'SIDEKIQ_REGISTERED_INSTANCE'
         | 
| 29 30 | 
             
                  @queue_prefix = :sidekiq_alive
         | 
| 30 31 | 
             
                  @server = ENV['SIDEKIQ_ALIVE_SERVER'] || 'webrick'
         | 
| 32 | 
            +
                  @custom_liveness_probe = proc { true }
         | 
| 31 33 | 
             
                end
         | 
| 32 34 |  | 
| 33 35 | 
             
                def registration_ttl
         | 
    
        data/lib/sidekiq_alive/worker.rb
    CHANGED
    
    | @@ -1,11 +1,17 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module SidekiqAlive
         | 
| 2 4 | 
             
              class Worker
         | 
| 3 5 | 
             
                include Sidekiq::Worker
         | 
| 4 6 | 
             
                sidekiq_options retry: false
         | 
| 5 7 |  | 
| 6 8 | 
             
                def perform(_hostname = SidekiqAlive.hostname)
         | 
| 9 | 
            +
                  # Checks if custom liveness probe passes should fail or return false
         | 
| 10 | 
            +
                  return unless config.custom_liveness_probe.call
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  # Writes the liveness in Redis
         | 
| 7 13 | 
             
                  write_living_probe
         | 
| 8 | 
            -
                  #  | 
| 14 | 
            +
                  # schedules next living probe
         | 
| 9 15 | 
             
                  self.class.perform_in(config.time_to_live / 2, current_hostname)
         | 
| 10 16 | 
             
                end
         | 
| 11 17 |  | 
    
        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.6
         | 
| 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- | 
| 11 | 
            +
            date: 2021-04-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |