backburner-allq 1.0.19 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|