health-monitor-rails 0.1.7 → 0.2.0

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
  SHA1:
3
- metadata.gz: 90b6843c83d2ec0a1de1db15434062537a36996f
4
- data.tar.gz: b5621021932c323536f49f979ee4d8b8dce96287
3
+ metadata.gz: 470d09cb0970220d2f42794b29582934612c7569
4
+ data.tar.gz: f33ecb0679d589276b86cea0a8c02e111d176402
5
5
  SHA512:
6
- metadata.gz: c6e9ab5aaed057adc3045bf39292340ba2358f75fc3bdc062cc73fe5cfdbe6cece108d4bd8c66a4db14867c427062fe2ff8978f96472100fa727d9878d165bdd
7
- data.tar.gz: 664df0a9d23796b5414d1db9ea350631feb60dbb23000ff126efc8ff58236d6498a13eaa8907a4531e9d8b43a82d93e36a9bc00592d6b238c4411ff4e684a9ca
6
+ metadata.gz: 1670e32b8462fcfc6b1652e3c5bf987c15fc064b854d7079088f58f703da591838ecc45ebafb643438a350d1b297737b79523fefb6d6a564497c34b6cdf34de2
7
+ data.tar.gz: 6718bc74071f777ef4e46e35f7a1df7d9328355821659450578165cd57a927b8cfc38bdc0aa48d34ec40477bb14ae1fb76bf7526fa8a604f828aad2b98d4f386
@@ -3,21 +3,31 @@ require 'sidekiq/api'
3
3
 
4
4
  module HealthMonitor
5
5
  module Providers
6
+ LATENCY_TIMEOUT = 30.freeze
7
+
6
8
  class SidekiqException < StandardError; end
7
9
 
8
10
  class Sidekiq < Base
9
11
  def check!
10
12
  check_workers!
13
+ check_latency!
11
14
  check_redis!
12
15
  rescue Exception => e
13
16
  raise SidekiqException.new(e.message)
14
17
  end
15
18
 
16
19
  private
20
+
17
21
  def check_workers!
18
22
  ::Sidekiq::Workers.new.size
19
23
  end
20
24
 
25
+ def check_latency!
26
+ latency = ::Sidekiq::Queue.new.latency
27
+
28
+ raise "latency #{latency} is greater than #{LATENCY_TIMEOUT}" if latency > LATENCY_TIMEOUT
29
+ end
30
+
21
31
  def check_redis!
22
32
  ::Sidekiq.redis { |conn| conn.info }
23
33
  end
@@ -1,3 +1,3 @@
1
1
  module HealthMonitor
2
- VERSION = '0.1.7'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: health-monitor-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonid Beder