File tree Expand file tree Collapse file tree 1 file changed +8
-12
lines changed
Expand file tree Collapse file tree 1 file changed +8
-12
lines changed Original file line number Diff line number Diff line change @@ -193,19 +193,15 @@ def perform(job)
193193 # Attempts to grab a job off one of the provided queues. Returns
194194 # nil if no job can be found.
195195 def reserve
196- queues . each do | queue |
197- log! "Checking #{ queue } "
198- if job = Resque . reserve ( queue )
199- log! "Found job on #{ queue } "
200- return job
201- end
202- end
203-
196+ multi_queue = MultiQueue . new (
197+ queues . map { | queue | Queue . new ( queue , Resque . redis , Resque . coder ) } ,
198+ Resque . redis )
199+
200+ queue , job = multi_queue . pop ( true )
201+ log! "Found job on #{ queue } "
202+ return Job . new ( queue . name , job )
203+ rescue ThreadError
204204 nil
205- rescue Exception => e
206- log "Error reserving job: #{ e . inspect } "
207- log e . backtrace . join ( "\n " )
208- raise e
209205 end
210206
211207 # Returns a list of queues to use when searching for a job.
You can’t perform that action at this time.
0 commit comments