Get the list of tasks to execute.
Get the list of tasks to execute.
All tasks, multi-tasks, workflows, and other task-like-entities should implement this method. In the execution graph, the returned tasks are all children, but not necessarily leaves, meaning the returned tasks themselves may spawn tasks. This task could also generate a mutated or modified task different from this task. It is perfectly reasonable for tasks in the returned list to be themselves be interdependent, but they should not be dependent on tasks not within this list.
the list of tasks of to run.
Removes this as a dependency for other
Removes this as a dependency for other
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Optionally creates a dependency between this dependable and another dependable if one is provided.
Optionally creates a dependency between this dependable and another dependable if one is provided.
Creates a dependency on this dependable, for the provided Task.
Creates a dependency on this dependable, for the provided Task.
Must be implemented to handle the addition of a dependent.
Must be implemented to handle the addition of a dependent.
Must be implemented to return all tasks represented by the Dependable.
Must be implemented to return all tasks represented by the Dependable.
Must be implemented to return all tasks on which new predecessor dependencies should be added.
Must be implemented to return all tasks on which new predecessor dependencies should be added.
The name of the task.
Finalize anything after the task has been run.
Finalize anything after the task has been run.
This method should be called after a task has been run. The intended use of this method is to allow for any modification of this task prior to any dependent tasks being run. This would allow any parameters that were passed to dependent tasks as call-by-name to be finalized here. For example, we could have passed an Option[String] that is None until make it Some(String) in this method. Then when the dependent task's getTasks method is called, it can call 'get' on the option and get something.
the exit code of the task, which could also be 1 due to the system terminating this process
true if we c
Removes a dependency by removing the supplied task from the list of dependencies for this task and removing this from the list of tasks depending on "task".
Removes a dependency by removing the supplied task from the list of dependencies for this task and removing this from the list of tasks depending on "task".
a task on which this task depends
true if a dependency existed and was removed, false otherwise
Must be implemented to return all tasks on which new successor dependencies should be added.
Must be implemented to return all tasks on which new successor dependencies should be added.
Gets the sequence of tasks that this task depends on..
Gets the sequence of tasks that this task depends on..
Gets the sequence of tasks that depend on this task.
Gets the sequence of tasks that depend on this task.
Sets the name of this task.
Base class for all tasks, multi-tasks, and workflows.
Once a task is constructed, it has the following evolution: 1. Any tasks on which it depends are added (see ==>). 2. When all tasks on which it is dependent have completed, the getTasks method is called to create a set of tasks. This task becomes dependent on any task that is returned that is not itself. 3. When all newly dependent tasks from #2 are complete, as well as this task, the onComplete method is called to perform any light-weight modification of this task. 4. If a task failed during execution or within onComplete, the retry method will be called until the task no longer wishes to retry or succeeds.