sidekiq-ultimate 0.0.1.alpha.10 → 0.0.1.alpha.11

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: f681de90091be58fe7928ce4d28f41e043f54111af410c8812fdefb299bbb0b2
4
- data.tar.gz: 1bed9ee7e1deaa2b386c9d8e8c01b175d5c0f63277f87ae5aa3b8f401a1eb028
3
+ metadata.gz: 33e4535ed671818341e55b1fe091c0736331d4152acf9c49edcf8f71c92a306f
4
+ data.tar.gz: da8bf95cef9b131eb6999f4852f21dea3d5f90e93739b46fe4b1c785f4bca7dd
5
5
  SHA512:
6
- metadata.gz: 60d70a4e7be275ead2d40da9f79e89170f728b596d91abf6b3e6d31737954ab857e0d7dc9933001bb0473af1e1e1d4888642482a0863f0f3e78da473d988e937
7
- data.tar.gz: 8802a4eeace26db84a5a3199909e289c971cfd35d1c584d37fa30bdadec349451e5a247cab00fa504c35db3e531252d77149ea5930507546a64601e1f3d34f88
6
+ metadata.gz: 83c3c9c7e5525dbe9d7a0f327613c59b563286f81f030d3ab07f886a500c46fa16d9c2b45713d4470ccf5ad184728252d26cbb7d0ad355c6ab3b418cf3afac86
7
+ data.tar.gz: a5ab4d60f1c45e7c7cc61e4f00567b80607dfbb408766392299251fbe9e03af39ae15d9a5dffb0a752b80cc1faad17b02861213b3bc7fdd88a50c473b4e354a8
@@ -24,29 +24,12 @@ module Sidekiq
24
24
  private_constant :LOCK_KEY
25
25
 
26
26
  class << self
27
- # rubocop: disable Metrics/MethodLength
28
27
  def setup!
29
- ctulhu = nil
30
- monitor = nil
31
-
32
28
  @identity = Object.new.tap { |o| o.extend Sidekiq::Util }.identity
33
29
 
34
- Sidekiq.on(:startup) do
35
- options = { :run_now => true, :execution_interval => 60 }
36
- ctulhu = Concurrent::TimerTask.execute(options) { resurrect! }
37
- end
38
-
39
- Sidekiq.on(:heartbeat) do
40
- options = { :run_now => true, :execution_interval => 5 }
41
- monitor = Concurrent::TimerTask.execute(options) { defibrillate! }
42
- end
43
-
44
- Sidekiq.on(:shutdown) do
45
- monitor&.shutdown
46
- ctulhu&.shutdown
47
- end
30
+ register_aed!
31
+ call_cthulhu!
48
32
  end
49
- # rubocop: enable Metrics/MethodLength
50
33
 
51
34
  def resurrect!
52
35
  lock do
@@ -64,6 +47,36 @@ module Sidekiq
64
47
 
65
48
  private
66
49
 
50
+ def call_cthulhu!
51
+ cthulhu = nil
52
+
53
+ Sidekiq.on(:startup) do
54
+ cthulhu&.shutdown
55
+
56
+ cthulhu = Concurrent::TimerTask.execute({
57
+ :run_now => true,
58
+ :execution_interval => 60
59
+ }) { resurrect! }
60
+ end
61
+
62
+ Sidekiq.on(:shutdown) { cthulhu&.shutdown }
63
+ end
64
+
65
+ def register_aed!
66
+ aed = nil
67
+
68
+ Sidekiq.on(:heartbeat) do
69
+ aed&.shutdown
70
+
71
+ aed = Concurrent::TimerTask.execute({
72
+ :run_now => true,
73
+ :execution_interval => 5
74
+ }) { defibrillate! }
75
+ end
76
+
77
+ Sidekiq.on(:shutdown) { aed&.shutdown }
78
+ end
79
+
67
80
  def defibrillate!
68
81
  Sidekiq.redis do |redis|
69
82
  log(:debug) { "Defibrillating" }
@@ -3,6 +3,6 @@
3
3
  module Sidekiq
4
4
  module Ultimate
5
5
  # Gem version.
6
- VERSION = "0.0.1.alpha.10"
6
+ VERSION = "0.0.1.alpha.11"
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-ultimate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.alpha.10
4
+ version: 0.0.1.alpha.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Zapparov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-13 00:00:00.000000000 Z
11
+ date: 2018-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby