Method: Resque::Scheduler::DelayingExtensions#enqueue_delayed_selection
- Defined in:
- lib/resque/scheduler/delaying_extensions.rb
#enqueue_delayed_selection(klass = nil) ⇒ Object
Given a block, enqueue jobs now that return true from a block
This allows for enqueuing of delayed jobs that have arguments matching certain criteria
171 172 173 174 175 176 177 178 179 180 |
# File 'lib/resque/scheduler/delaying_extensions.rb', line 171 def enqueue_delayed_selection(klass = nil) fail ArgumentError, 'Please supply a block' unless block_given? found_jobs = find_delayed_selection(klass) { |args| yield(args) } found_jobs.reduce(0) do |sum, encoded_job| decoded_job = decode(encoded_job) klass = Util.constantize(decoded_job['class']) sum + enqueue_delayed(klass, *decoded_job['args']) end end |