class Rub2::JobStore
Public Class Methods
new()
click to toggle source
# File lib/rub2.rb, line 190 def initialize @jobs = nil end
Public Instance Methods
all_finish?()
click to toggle source
# File lib/rub2.rb, line 233 def all_finish? return @jobs.all? {|j| j.finished?} end
each_job() { |job| ... }
click to toggle source
# File lib/rub2.rb, line 227 def each_job(&block) @jobs.each do |job| yield job end end
get_job_from_index(index)
click to toggle source
# File lib/rub2.rb, line 203 def get_job_from_index(index) return @jobs.find {|j| j.array_id == index} end
init_job(job_id, job_index, max_retry)
click to toggle source
# File lib/rub2.rb, line 194 def init_job(job_id, job_index, max_retry) raise "already initialized" unless @jobs.nil? jobs = [] job_index.each do |index| jobs.push(Job.new(job_id, index, max_retry)) end @jobs = jobs end
job_count()
click to toggle source
# File lib/rub2.rb, line 241 def job_count return @jobs.size end
mark_dead_job(jobs)
click to toggle source
# File lib/rub2.rb, line 215 def mark_dead_job(jobs) now = Time.now jobs.each do |job| if job.dead_end?(now) job.set_exit_code(-1) Rub2.putlog("#{job} no response 1min after finished.") else job.set_dead_time(now) end end end
select_retry_jobs()
click to toggle source
# File lib/rub2.rb, line 237 def select_retry_jobs return @jobs.select {|job| job.need_retry?} end
update_exit_code(exit_status)
click to toggle source
exit_status: [ {:array_id => 1, :exit_code => 1}, …]
# File lib/rub2.rb, line 208 def update_exit_code(exit_status) exit_status.each do |es| job = get_job_from_index(es[:array_id]) job.set_exit_code(es[:exit_code]) end end