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.
Called by the Scheduler immediately prior to scheduling to allow tasks to perform any necessary last-minute configuration with the knowledge of the exact set of resources they are to be run with.
Called by the Scheduler immediately prior to scheduling to allow tasks to perform any necessary last-minute configuration with the knowledge of the exact set of resources they are to be run with.
the set of resources that the task will be run with
Get the list of tasks to execute.
Get the list of tasks to execute.
For UnitTask and any class that extends it, if the task wishes to be directly executed, the list should be of size one, and equal to itself. If no resources have been specified, both memory and cores default to the given resources.
the list of tasks of to run.
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.
Executes run() and returns 0 if no exception is thrown, otherwise 1.
Executes run() and returns 0 if no exception is thrown, otherwise 1.
the equivalent of an exit code, with zero being success
The method to execute in the Jvm
The method to execute in the Jvm
Do not override this (you cannot anyway), as this sets the logging correctly for this task. Override inJvmMethod() instead.
the equivalent of an exit code, with zero being success
The name of the task.
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
Implemented to take the fixed amount of cores and memory from the provided resource set.
Implemented to take the fixed amount of cores and memory from the provided resource set.
The system resources available to the task
Either a ResourceSet of the desired subset of resources to run with, or None
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
Sets the resources that are required by this task, overriding all previous values.
Sets the resources that are required by this task, overriding all previous values.
Sets the resources that are required by this task, overriding all previous values.
Sets the resources that are required by this task, overriding all previous values.
Sets the resources that are required by this task, overriding all previous values.
Sets the resources that are required by this task, overriding all previous values.
Provides access to the currently allocated set of resources for the task.
Provides access to the currently allocated set of resources for the task.
Abstract method to be implemented by subclasses to perform any tasks.
Abstract method to be implemented by subclasses to perform any tasks. Should throw an exception to indicate an error or problem during processing.
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 depend on this task.
Sets the name of this task.
Sets the name of this task.
Trivial No-Op task that runs inside the JVM and does nothing.