class Rub2::DeadJobCollector

Public Instance Methods

collect(job_store) click to toggle source
# File lib/rub2.rb, line 248
def collect(job_store)
  runnning_job_ids = parse_qstat(`qstat -t 2>/dev/null`)
  failed = []
  job_store.each_job do |job|
    failed.push(job) if dead_job?(job, runnning_job_ids)
  end
  job_store.mark_dead_job(failed)
end

Private Instance Methods

dead_job?(job, runnning_job_ids) click to toggle source
# File lib/rub2.rb, line 269
def dead_job?(job, runnning_job_ids)
  return false if runnning_job_ids.has_key?(job.job_id)
  return (not job.finished?)
end
parse_qstat(str) click to toggle source
# File lib/rub2.rb, line 259
def parse_qstat(str)
  id_hash = {}
  str.each_line do |line|
    if line =~ /\A(\d+(:?\[\d+\])?)/
      id_hash[$1] = 1
    end
  end
  return id_hash
end