sidekiq-ultimate 0.0.1.alpha.3 → 0.0.1.alpha.4

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: f0ab40b52813c6bbce3f01cddf44a7838458188e25539e39c224ce590ce677c8
4
- data.tar.gz: 48e9bb28f70115f283033d74580538a0d3e5e3dfb4863204605a6f23cb21eb23
3
+ metadata.gz: 48fa760a3af0b2e932d2a5415dc25b4d7cd86df32f17b47b86f2ba23d3968d34
4
+ data.tar.gz: 9dc5bf6963d3f343e67fc9b59a1072adb1cb7959651d7262f8768dfda8b32ff3
5
5
  SHA512:
6
- metadata.gz: 0af28f2325e94f24792253cd04dd6dc3d66bc400dc93580ce66ca3b73085ee3713c1fb902f44d55bea430639dc1eef8f6c4e6a93ec2daa268bac7ca113e8add1
7
- data.tar.gz: e3e2c7e94dffc429ee4039fcda0236aa908ac83e57612fe6c089a7ef9b7254ebab77e7ca79c415ba9788f41cb8b19a64cc85e2ab78844a7230186be3af14993a
6
+ metadata.gz: e1d7e93bd40dab574eff3bc6455e23ef2a59946d41e220a81bac3716350e3a23036dfb0d9f5c1fe0fb6e546e96bc191adbbb6c7a8dc9fe286334a6d852c4c160
7
+ data.tar.gz: 605d4e1d9d1a8250fb017a2ff005a2046ada578ff55938cf1126f574c78d42e518ab4d4f6843373b1a552e7686c52b9c0f910e3aed09af1a0ac00c844df933bb
@@ -24,21 +24,29 @@ module Sidekiq
24
24
  private_constant :LOCK_KEY
25
25
 
26
26
  class << self
27
+ # rubocop: disable Metrics/MethodLength
27
28
  def setup!
28
- ctulhu = nil
29
+ ctulhu = nil
30
+ monitor = nil
29
31
 
30
- Sidekiq.on(:startup) do
31
- defibrillate!
32
+ @identity = Object.new.tap { |o| o.extend Sidekiq::Util }.identity
32
33
 
33
- ctulhu = Concurrent::TimerTask.execute(:run_now => true) do
34
- resurrect!
35
- end
34
+ Sidekiq.on(:startup) do
35
+ options = { :run_now => true, :execution_interval => 60 }
36
+ ctulhu = Concurrent::TimerTask.execute(options) { resurrect! }
36
37
  end
37
38
 
38
- Sidekiq.on(:shutdown) { ctulhu&.shutdown }
39
+ Sidekiq.on(:heartbeat) do
40
+ options = { :run_now => true, :execution_interval => 5 }
41
+ monitor = Concurrent::TimerTask.execute(options) { defibrillate! }
42
+ end
39
43
 
40
- Sidekiq.on(:heartbeat) { defibrillate! }
44
+ Sidekiq.on(:shutdown) do
45
+ monitor&.shutdown
46
+ ctulhu&.shutdown
47
+ end
41
48
  end
49
+ # rubocop: enable Metrics/MethodLength
42
50
 
43
51
  def resurrect!
44
52
  lock do
@@ -56,10 +64,8 @@ module Sidekiq
56
64
 
57
65
  def defibrillate!
58
66
  Sidekiq.redis do |redis|
59
- queues = JSON.dump(Sidekiq.options[:queues].uniq)
60
- identity = Object.new.tap { |o| o.extend Sidekiq::Util }.identity
61
-
62
- redis.hset(MAIN_KEY, identity, queues)
67
+ queues = JSON.dump(Sidekiq.options[:queues].uniq)
68
+ redis.hset(MAIN_KEY, @identity, queues)
63
69
  end
64
70
  end
65
71
 
@@ -61,7 +61,7 @@ module Sidekiq
61
61
  # @return [void]
62
62
  def requeue_throttled
63
63
  Sidekiq.redis do |redis|
64
- redis.pipeline do
64
+ redis.pipelined do
65
65
  redis.lpush(@queue.pending, @job)
66
66
  acknowledge
67
67
  end
@@ -3,6 +3,6 @@
3
3
  module Sidekiq
4
4
  module Ultimate
5
5
  # Gem version.
6
- VERSION = "0.0.1.alpha.3"
6
+ VERSION = "0.0.1.alpha.4"
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.3
4
+ version: 0.0.1.alpha.4
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-02-26 00:00:00.000000000 Z
11
+ date: 2018-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby