backburner-allq 1.0.19 → 1.0.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/deploy.sh +1 -1
- data/lib/backburner/configuration.rb +1 -1
- data/lib/backburner/version.rb +1 -1
- data/lib/backburner/worker.rb +9 -6
- data/lib/backburner/workers/threading.rb +1 -1
- data/lib/backburner/workers/threads_on_fork.rb +2 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed4aae689c12e639f2f51a32aef5a59c80f0ab452f89fe2f29afb566474ba201
|
4
|
+
data.tar.gz: 62e79b474949889a1b992b7fa25a034a1c87a62d1d6db0ba5f8a01582e464071
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f5e2bd1006d8d39e95f25b85b195ad7b8cefd5b77a16dd93ab095ef0ca080d90e04b63490e66d9247b47e9f97d2355e5b2fa9fe03b2c85dd413efa54d642a32
|
7
|
+
data.tar.gz: 26a7b05894906fc6d79f0e98b6bed0f67d5ea8c62b09c3b6b89acb89fb13811dc568353ce7432d89081ed79ff97f4f2da5c91ee5e20ba2131cddf10a875da7c0
|
data/deploy.sh
CHANGED
data/lib/backburner/version.rb
CHANGED
data/lib/backburner/worker.rb
CHANGED
@@ -126,9 +126,14 @@ module Backburner
|
|
126
126
|
# @example
|
127
127
|
# @worker.work_one_job
|
128
128
|
# @raise [Beaneater::NotConnected] If beanstalk fails to connect multiple times.
|
129
|
-
def work_one_job(conn = connection)
|
129
|
+
def work_one_job(conn = connection, tube_name = nil)
|
130
|
+
if tube_name.nil?
|
131
|
+
self.log_error "Sampling tube, this is bad practice for Allq"
|
132
|
+
tube_name = @tube_names.sample
|
133
|
+
end
|
134
|
+
|
130
135
|
begin
|
131
|
-
job = reserve_job(conn)
|
136
|
+
job = reserve_job(conn, tube_name)
|
132
137
|
rescue Exception => e
|
133
138
|
self.log_error "Sleeping"
|
134
139
|
self.log_error "Exception: #{e.full_message}"
|
@@ -158,8 +163,6 @@ module Backburner
|
|
158
163
|
retry_status = "failed: attempt #{num_retries+1} of #{max_job_retries+1}"
|
159
164
|
retry_delay = resolve_retry_delay(job.job_class)
|
160
165
|
delay = resolve_retry_delay_proc(job.job_class).call(retry_delay, num_retries) rescue retry_delay
|
161
|
-
puts "num_retries = #{num_retries}"
|
162
|
-
puts "max_job_retries = #{max_job_retries}"
|
163
166
|
|
164
167
|
if num_retries + 1 > max_job_retries
|
165
168
|
job.bury
|
@@ -185,8 +188,8 @@ module Backburner
|
|
185
188
|
end
|
186
189
|
|
187
190
|
# Reserve a job from the watched queues
|
188
|
-
def reserve_job(conn, reserve_timeout = Backburner.configuration.reserve_timeout)
|
189
|
-
job = conn.get(
|
191
|
+
def reserve_job(conn, tube_name, reserve_timeout = Backburner.configuration.reserve_timeout)
|
192
|
+
job = conn.get(tube_name)
|
190
193
|
return nil if job.nil? || job.body == nil?
|
191
194
|
Backburner::Job.new(job)
|
192
195
|
end
|
@@ -58,7 +58,7 @@ module Backburner
|
|
58
58
|
loop do
|
59
59
|
begin
|
60
60
|
break if @in_shutdown
|
61
|
-
work_one_job(memo_connection)
|
61
|
+
work_one_job(memo_connection, tube_name)
|
62
62
|
rescue => e
|
63
63
|
log_error("Exception caught in thread pool loop. Continuing. -> #{e.message}\nBacktrace: #{e.backtrace}")
|
64
64
|
end
|
@@ -210,7 +210,7 @@ module Backburner
|
|
210
210
|
puts "Run while can"
|
211
211
|
while @garbage_after.nil? or @garbage_after > @runs
|
212
212
|
@runs += 1 # FIXME: Likely race condition
|
213
|
-
ran_job = work_one_job(conn)
|
213
|
+
ran_job = work_one_job(conn, @watched_tube_name)
|
214
214
|
# Wait a second if we didn't find a job
|
215
215
|
unless ran_job
|
216
216
|
puts "sleeping"
|
@@ -221,6 +221,7 @@ module Backburner
|
|
221
221
|
|
222
222
|
# Shortcut for watching a tube on our beanstalk connection
|
223
223
|
def watch_tube(name, conn = connection)
|
224
|
+
@watched_tube_name = name
|
224
225
|
# No op for allq
|
225
226
|
end
|
226
227
|
|