class Taskinator::Task::SubProcess
a task which delegates to another process
Attributes
sub_process[R]
Public Class Methods
new(process, sub_process, options={})
click to toggle source
NOTE: also wraps sequential and concurrent processes
Calls superclass method
Taskinator::Task::new
# File lib/taskinator/task.rb, line 271 def initialize(process, sub_process, options={}) super(process, options) raise ArgumentError, 'sub_process' if sub_process.nil? || !sub_process.is_a?(Process) @sub_process = sub_process @sub_process.parent = self end
Public Instance Methods
accept(visitor)
click to toggle source
Calls superclass method
Taskinator::Task#accept
# File lib/taskinator/task.rb, line 299 def accept(visitor) super visitor.visit_process(:sub_process) end
enqueue()
click to toggle source
# File lib/taskinator/task.rb, line 279 def enqueue sub_process.enqueue! end
incr_count?()
click to toggle source
# File lib/taskinator/task.rb, line 293 def incr_count? # subprocess tasks aren't included in the total count of tasks # since they simply delegate to the tasks of the respective subprocess definition false end
inspect()
click to toggle source
# File lib/taskinator/task.rb, line 304 def inspect %(#<#{self.class.name}:0x#{self.__id__.to_s(16)} uuid="#{uuid}", sub_process=#{sub_process.inspect}, current_state=:#{current_state}>) end
start()
click to toggle source
# File lib/taskinator/task.rb, line 283 def start sub_process.start! rescue => e Taskinator.logger.error(e) Taskinator.logger.debug(e.backtrace) fail!(e) raise e end