class SimBack::Queue
Public Class Methods
each_chunk_size(num_sims) { |chunk| ... }
click to toggle source
# File lib/sim_back/queue.rb, line 4 def each_chunk_size(num_sims) while num_sims > 0 raise "bad" if num_sims < 0 chunk = [max_chunk_size,num_sims].min yield(chunk) num_sims -= chunk end end
max_chunk_size()
click to toggle source
# File lib/sim_back/queue.rb, line 13 def max_chunk_size 25 end
queue(num_sims, sim_progress_ops)
click to toggle source
# File lib/sim_back/queue.rb, line 16 def queue(num_sims, sim_progress_ops) default = {:num_sims => num_sims, :sims_completed => 0} sim_progress_ops = sim_progress_ops.merge(default) progress = SimProgress.new(sim_progress_ops) progress.save! each_chunk_size(num_sims) do |chunk_size| Worker.perform_async(progress.id.to_s,chunk_size) end SummaryWorker.perform_async(progress.id.to_s) end