Trait

dagr.core.execsystem

TaskTracker

Related Doc: package execsystem

Permalink

trait TaskTracker extends TaskManagerLike with LazyLogging

Tracks tasks during their execution

Linear Supertypes
LazyLogging, TaskManagerLike, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TaskTracker
  2. LazyLogging
  3. TaskManagerLike
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def logPathFor(task: Task, id: TaskId, attemptIndex: Int): Path

    Permalink

    Generates a path to file to store the log output of the task

    Generates a path to file to store the log output of the task

    Attributes
    protected
  2. abstract def runToCompletion(failFast: Boolean): BiMap[Task, TaskExecutionInfo]

    Permalink

    Run all tasks managed to either completion, failure, or inability to schedule.

    Run all tasks managed to either completion, failure, or inability to schedule.

    This will terminate tasks that were still running before returning in the case of failure or inability to schedule.

    returns

    a bi-directional map from the set of tasks to their execution information.

    Definition Classes
    TaskManagerLike
  3. abstract def scriptPathFor(task: Task, id: TaskId, attemptIndex: Int): Path

    Permalink

    Generates a path to a file to hold the task command

    Generates a path to a file to hold the task command

    Attributes
    protected
  4. abstract def stepExecution(): (Traversable[Task], Traversable[Task], Traversable[Task], Traversable[Task])

    Permalink

    Run a a single iteration of managing tasks.

    Run a a single iteration of managing tasks.

    1. Get tasks that have completed and update their state. 2. Update any resolved dependencies in the execution graph. 3. Get tasks for any task that has no predecessors until no more can be found. 4. Schedule tasks and start running them.

    returns

    a tuple of: (1) tasks that can be scheduled. (2) tasks that were scheduled. (3) tasks that are running prior to scheduling. (4) the tasks that have completed prior to scheduling.

    Definition Classes
    TaskManagerLike

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to any2stringadd[TaskTracker] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (TaskTracker, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to ArrowAssoc[TaskTracker] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def addTask(task: Task, enclosingNode: Option[GraphNode], ignoreExists: Boolean = false): TaskId

    Permalink

    Adds a task to be managed

    Adds a task to be managed

    Throws an IllegalArgumentException if a cycle was found after logging each strongly connected component with a cycle in the graph.

    task

    the given task.

    ignoreExists

    true if we just return the task id for already added tasks, false if we are to throw an IllegalArgumentException

    returns

    the task identifier.

    Attributes
    protected[dagr.core.execsystem]
  7. def addTask(task: Task): TaskId

    Permalink

    Adds a task to be managed

    Adds a task to be managed

    task

    the given task.

    returns

    the task identifier.

    Definition Classes
    TaskTracker → TaskManagerLike
  8. def addTasks(tasks: Task*): Seq[TaskId]

    Permalink

    Adds tasks to be managed

    Adds tasks to be managed

    tasks

    the given tasks.

    returns

    the task identifiers.

    Definition Classes
    TaskTracker → TaskManagerLike
  9. def addTasks(tasks: Traversable[Task], enclosingNode: Option[GraphNode] = None, ignoreExists: Boolean = false): List[TaskId]

    Permalink

    Adds tasks to be managed

    Adds tasks to be managed

    tasks

    the given tasks.

    ignoreExists

    true if we just return the task id for already added tasks, false if we are to throw an IllegalArgumentException

    returns

    the task identifiers.

    Attributes
    protected[dagr.core.execsystem]
  10. def allPredecessorsAdded(task: Task): Boolean

    Permalink

    Returns true if all the predecessors of this task are known (have been added), false otherwise.

    Returns true if all the predecessors of this task are known (have been added), false otherwise.

    Attributes
    protected
  11. def apply(id: TaskId): GraphNode

    Permalink

    Gets the graph execution node for the given id.

    Gets the graph execution node for the given id. If there is no task being tracked with that id, throws a NoSuchElementException.

    id

    the id to lookup.

    returns

    the associated task.

    Definition Classes
    TaskTracker → TaskManagerLike
  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. def checkForCycles(task: Task): Unit

    Permalink

    Checks for cycles in the graph to which the task belongs.

    Checks for cycles in the graph to which the task belongs.

    Throws an IllegalArgumentException if a cycle was found after logging each strongly connected component with a cycle in the graph.

    task

    a task in the graph to check.

    Attributes
    protected
  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def ensuring(cond: (TaskTracker) ⇒ Boolean, msg: ⇒ Any): TaskTracker

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to Ensuring[TaskTracker] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: (TaskTracker) ⇒ Boolean): TaskTracker

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to Ensuring[TaskTracker] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean, msg: ⇒ Any): TaskTracker

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to Ensuring[TaskTracker] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean): TaskTracker

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to Ensuring[TaskTracker] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  21. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to StringFormat[TaskTracker] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. def graphNodeFor(task: Task): Option[GraphNode]

    Permalink

    Get the graph node associated with the task

    Get the graph node associated with the task

    task

    a task in the graph

    returns

    the graph node associated with the task if found, None otherwise

  25. def graphNodeFor(id: TaskId): Option[GraphNode]

    Permalink

    Get the graph node associated with the task identifier

    Get the graph node associated with the task identifier

    id

    the task identifier

    returns

    the graph node associated with the task identifier if found, None otherwise

  26. def graphNodeStateFor(task: Task): Option[GraphNodeState.Value]

    Permalink

    Get the execution state of the task.

    Get the execution state of the task.

    task

    the task.

    returns

    the execution state of the task.

  27. def graphNodeStateFor(id: TaskId): Option[GraphNodeState.Value]

    Permalink

    Get the execution state of the task.

    Get the execution state of the task.

    id

    the task identifier.

    returns

    the execution state of the task.

  28. def graphNodes: Iterable[GraphNode]

    Permalink

    Get the graph nodes in the execution graph.

    Get the graph nodes in the execution graph.

    returns

    the graph nodes, in no particular order.

  29. def graphNodesInStateFor(state: GraphNodeState.Value): Iterable[GraphNode]

    Permalink

    Gets the graph nodes in a given state.

    Gets the graph nodes in a given state.

    state

    the state of the returned graph nodes.

    returns

    the graph nodes with the given state.

    Attributes
    protected
  30. def graphNodesInStatesFor(states: Traversable[GraphNodeState.Value]): Iterable[GraphNode]

    Permalink

    Gets the graph nodes in the given states.

    Gets the graph nodes in the given states.

    states

    the states of the returned graph nodes.

    returns

    the graph nodes with the given states.

    Attributes
    protected
  31. def graphNodesWithPredecessors: Iterable[GraphNode]

    Permalink

    Gets the graph nodes that imply they have predecessors.

    Gets the graph nodes that imply they have predecessors.

    returns

    the graph nodes that have predecessors (unmet dependencies).

    Attributes
    protected
  32. def hasFailedTasks: Boolean

    Permalink

    Checks if we have failed tasks.

    Checks if we have failed tasks.

    returns

    true if we have failed tasks, false otherwise.

    Definition Classes
    TaskTracker → TaskManagerLike
  33. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  34. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  35. lazy val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    LazyLogging
  36. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  37. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  39. def predecessorsOf(task: Task): Option[Traversable[GraphNode]]

    Permalink

    Gets the predecessor graph nodes of the given task in the execution graph.

    Gets the predecessor graph nodes of the given task in the execution graph.

    This assumes that all predecessors of this task have been added with addTasks and not removed.

    task

    the task to lookup.

    returns

    the list of precedessors, or Nil if this task has no predecessors. If there were predecessors that are not currently being tracked, None will be returned instead.

    Attributes
    protected
  40. def replaceTask(original: Task, replacement: Task): Boolean

    Permalink

    Replace the original task with the replacement task and update any internal references.

    Replace the original task with the replacement task and update any internal references.

    If the replacement task depends on any task, any tasks depends on the replacement task, or if the original task is not being tracked this method will return false. Any tasks dependent on the original task, or any task on which the original task depends, will have their dependency relationship updated.

    original

    the original task to replace.

    replacement

    the replacement task.

    returns

    true if we are successful, false otherwise.

    Definition Classes
    TaskTracker → TaskManagerLike
  41. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  42. def taskExecutionInfoFor(node: GraphNode): Option[TaskExecutionInfo]

    Permalink

    Get the task's execution information if it exists.

    Get the task's execution information if it exists.

    node

    the node associated with a task.

    returns

    the task execution information if the task is managed, None otherwise

  43. def taskExecutionInfoFor(task: Task): Option[TaskExecutionInfo]

    Permalink

    Get the task's execution information if it exists.

    Get the task's execution information if it exists.

    task

    the task.

    returns

    the task execution information if the task is managed, None otherwise

    Definition Classes
    TaskTracker → TaskManagerLike
  44. def taskExecutionInfoFor(id: TaskId): Option[TaskExecutionInfo]

    Permalink

    Get the task's execution information if it exists.

    Get the task's execution information if it exists.

    id

    the task identifier.

    returns

    the task execution information if the task is managed, None otherwise

    Definition Classes
    TaskTracker → TaskManagerLike
  45. def taskFor(task: Task): Option[TaskId]

    Permalink

    Get the task identifier for the given task.

    Get the task identifier for the given task.

    task

    the task.

    returns

    the task identifier, None if the task is not being managed.

    Definition Classes
    TaskTracker → TaskManagerLike
  46. def taskFor(id: TaskId): Option[Task]

    Permalink

    Gets the task associated with the identifier, if any

    Gets the task associated with the identifier, if any

    id

    the task id

    returns

    the task associate with the id if found, None otherwise

    Definition Classes
    TaskTracker → TaskManagerLike
  47. def taskIds(): Iterable[TaskId]

    Permalink

    Get the task identifiers for all tracked tasks.

    Get the task identifiers for all tracked tasks.

    returns

    the task ids

    Definition Classes
    TaskTracker → TaskManagerLike
  48. def taskStatusFor(id: TaskId): Option[TaskStatus.Value]

    Permalink

    Get the task's associated TaskStatus.

    Get the task's associated TaskStatus.

    id

    the task identifier.

    returns

    the task status if the task is managed, None otherwise.

    Definition Classes
    TaskTracker → TaskManagerLike
  49. def taskStatusFor(task: Task): Option[TaskStatus.Value]

    Permalink

    Get the task's associated TaskStatus.

    Get the task's associated TaskStatus.

    task

    the task.

    returns

    the task status if the task is managed, None otherwise.

    Definition Classes
    TaskTracker → TaskManagerLike
  50. def taskToInfoBiMapFor: BiMap[Task, TaskExecutionInfo]

    Permalink

    Get the bi-directional map between managed tasks and their associated task execution information.

    Get the bi-directional map between managed tasks and their associated task execution information.

    returns

    the task and task execution information bi-directional map.

    Definition Classes
    TaskTracker → TaskManagerLike
  51. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  52. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. def [B](y: B): (TaskTracker, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from TaskTracker to ArrowAssoc[TaskTracker] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from LazyLogging

Inherited from TaskManagerLike

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from TaskTracker to any2stringadd[TaskTracker]

Inherited by implicit conversion StringFormat from TaskTracker to StringFormat[TaskTracker]

Inherited by implicit conversion Ensuring from TaskTracker to Ensuring[TaskTracker]

Inherited by implicit conversion ArrowAssoc from TaskTracker to ArrowAssoc[TaskTracker]

Ungrouped