sidekiq-ultimate 0.0.1.alpha.6 → 0.0.1.alpha.7
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 375ce3e7bcb160856a1451a4eaaae01d7e79c431f1d2459d01d0aeea9a124ee7
|
4
|
+
data.tar.gz: febd4e1cd0ab0b069090069e819ede9eb9b90dc7038db3574bc34e5534a6ba69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e077fcbbdd5d1a5e7963024935f415bd1e64ec0bf9b2a61b98eed5a3a1c7cf7494e4d06ea687bee130d85b639c81190985d055d81280de4dbeb718abb684cf4a
|
7
|
+
data.tar.gz: 8a563c02d6dc94eb5554dd0c97bdd2d318fe1890d0cbafc6e227cbca87f2d339351ddea5cdeb30d4f6af7364ab0d70b0203edd28abce08e50de89912af6ce170
|
@@ -51,14 +51,14 @@ module Sidekiq
|
|
51
51
|
def resurrect!
|
52
52
|
lock do
|
53
53
|
casualties.each do |identity|
|
54
|
-
|
54
|
+
log(:debug) { "Resurrecting #{identity}" }
|
55
55
|
|
56
56
|
queues = queues_of(identity).each { |queue| resurrect(queue) }
|
57
57
|
cleanup(identity, queues.map(&:inproc))
|
58
58
|
end
|
59
59
|
end
|
60
60
|
rescue => e
|
61
|
-
|
61
|
+
log(:error) { "Resurrection failed: #{e}" }
|
62
62
|
raise
|
63
63
|
end
|
64
64
|
|
@@ -66,6 +66,8 @@ module Sidekiq
|
|
66
66
|
|
67
67
|
def defibrillate!
|
68
68
|
Sidekiq.redis do |redis|
|
69
|
+
log(:debug) { "Defibrillating" }
|
70
|
+
|
69
71
|
queues = JSON.dump(Sidekiq.options[:queues].uniq)
|
70
72
|
redis.hset(MAIN_KEY, @identity, queues)
|
71
73
|
end
|
@@ -103,24 +105,30 @@ module Sidekiq
|
|
103
105
|
|
104
106
|
def resurrect(queue)
|
105
107
|
Sidekiq.redis do |redis|
|
106
|
-
|
108
|
+
result = RESURRECT.eval(redis, {
|
107
109
|
:keys => [queue.inproc, queue.pending]
|
108
110
|
})
|
109
111
|
|
110
|
-
if
|
111
|
-
|
112
|
-
"[#{self}] Resurrected #{count} jobs of #{queue.inspect}"
|
113
|
-
end
|
112
|
+
if result.positive?
|
113
|
+
log(:info) { "Resurrected #{result} jobs from #{queue.inproc}" }
|
114
114
|
end
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
118
|
def cleanup(identity, inprocs)
|
119
119
|
Sidekiq.redis do |redis|
|
120
|
-
SAFECLEAN.eval(redis, {
|
120
|
+
result = SAFECLEAN.eval(redis, {
|
121
121
|
:keys => [MAIN_KEY, *inprocs],
|
122
122
|
:argv => [identity]
|
123
123
|
})
|
124
|
+
|
125
|
+
log(:debug) { "Safeclean of #{identity} ok=#{1 == result}" }
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def log(level)
|
130
|
+
Sidekiq.logger.public_send(level) do
|
131
|
+
"[#{self}] @#{@identity} #{yield}"
|
124
132
|
end
|
125
133
|
end
|
126
134
|
end
|