class Taskinator::Process::Sequential

Public Instance Methods

enqueue() click to toggle source
# File lib/taskinator/process.rb, line 184
def enqueue
  if tasks.empty?
    complete! # weren't any tasks to start with
  else
    tasks.first.enqueue!
  end
end
inspect() click to toggle source
# File lib/taskinator/process.rb, line 216
def inspect
  %(#<#{self.class.name}:0x#{self.__id__.to_s(16)} uuid="#{uuid}", state=:#{current_state}, tasks=[#{tasks.inspect}]>)
end
start() click to toggle source
# File lib/taskinator/process.rb, line 192
def start
  task = tasks.first
  if task
    task.start!
  else
    complete! # weren't any tasks to start with
  end
end
task_completed(task) click to toggle source
# File lib/taskinator/process.rb, line 201
def task_completed(task)
  # deincrement the count of pending sequential tasks
  pending = deincr_pending_tasks

  Taskinator.statsd_client.count("taskinator.#{definition.name.underscore.parameterize}.pending", pending)
  Taskinator.logger.info("Completed task for process '#{uuid}'. Pending is #{pending}.")

  next_task = task.next
  if next_task
    next_task.enqueue!
  else
    complete! # aren't any more tasks
  end
end