class Rub2::Job
Attributes
array_id[R]
died_at[R]
exit_code[R]
parent_id[R]
Public Class Methods
new(parent_id, array_id, max_retry)
click to toggle source
# File lib/rub2.rb, line 125 def initialize(parent_id, array_id, max_retry) @parent_id = parent_id @array_id = array_id @max_retry = max_retry raise "negative max_retry" if max_retry < 0 @exit_code = nil @retry_count = 0 @died_at = nil end
Public Instance Methods
dead_end?(t)
click to toggle source
# File lib/rub2.rb, line 162 def dead_end?(t) return false if @died_at.nil? return (t - @died_at) > 60.0 # daed job, maybe end
finished?()
click to toggle source
# File lib/rub2.rb, line 135 def finished? return false if @exit_code.nil? return (not need_retry?) end
inspect()
click to toggle source
# File lib/rub2.rb, line 178 def inspect "#<Job: @parent_id=#{@parent_id}, @array_id=#{@array_id}, @exit_code=#{@exit_code}, @retry_count=#{@retry_count}, @max_retry=#{@max_retry}, @died_at=#{@died_at}>" end
job_id()
click to toggle source
# File lib/rub2.rb, line 150 def job_id return "#{@parent_id}[#{@array_id}]" end
need_retry?()
click to toggle source
# File lib/rub2.rb, line 144 def need_retry? return false if @exit_code.nil? return false if succeeded? return @retry_count < @max_retry end
set_dead_time(t)
click to toggle source
# File lib/rub2.rb, line 167 def set_dead_time(t) @died_at = t end
set_exit_code(exit_code)
click to toggle source
# File lib/rub2.rb, line 154 def set_exit_code(exit_code) unless @exit_code.nil? Rub2.putlog("warn: already assigned exit_code #{self} #{@exit_code} -> #{exit_code}") end @exit_code = exit_code @died_at = nil end
set_resubmit_id(new_parent_id)
click to toggle source
# File lib/rub2.rb, line 171 def set_resubmit_id(new_parent_id) @parent_id = new_parent_id @exit_code = nil @died_at = nil @retry_count += 1 end
succeeded?()
click to toggle source
# File lib/rub2.rb, line 140 def succeeded? return @exit_code == 0 end
to_s()
click to toggle source
# File lib/rub2.rb, line 182 def to_s return job_id end