Class: SimBack::Queue
- Inherits:
-
Object
- Object
- SimBack::Queue
- Defined in:
- lib/sim_back/queue.rb
Class Method Summary collapse
- .each_chunk_size(num_sims) ⇒ Object
- .max_chunk_size ⇒ Object
- .queue(num_sims, sim_progress_ops) ⇒ Object
Class Method Details
.each_chunk_size(num_sims) ⇒ Object
4 5 6 7 8 9 10 11 |
# 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 ⇒ Object
13 14 15 |
# File 'lib/sim_back/queue.rb', line 13 def max_chunk_size 25 end |
.queue(num_sims, sim_progress_ops) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# 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 |