the set of task manager resources, otherwise we use the default
the scripts directory, otherwise a temporary directory will be used
the log directory, otherwise a temporary directory will be used
the scheduler, otherwise we use the default
true if we are to simulate running tasks, false otherwise
the time to wait in milliseconds to wait between trying to schedule tasks.
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.
the given task.
true if we just return the task id for already added tasks, false if we are to throw an IllegalArgumentException
the task identifier.
Adds a task to be managed
Adds a task to be managed
the given task.
the task identifier.
Adds tasks to be managed
Adds tasks to be managed
the given tasks.
the task identifiers.
Adds tasks to be managed
Adds tasks to be managed
the given tasks.
true if we just return the task id for already added tasks, false if we are to throw an IllegalArgumentException
the task identifiers.
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.
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.
the id to lookup.
the associated task.
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.
a task in the graph to check.
Get the graph node associated with the task
Get the graph node associated with the task
a task in the graph
the graph node associated with the task if found, None otherwise
Get the graph node associated with the task identifier
Get the graph node associated with the task identifier
the task identifier
the graph node associated with the task identifier if found, None otherwise
Get the execution state of the task.
Get the execution state of the task.
the task.
the execution state of the task.
Get the execution state of the task.
Get the execution state of the task.
the task identifier.
the execution state of the task.
Get the graph nodes in the execution graph.
Get the graph nodes in the execution graph.
the graph nodes, in no particular order.
Gets the graph nodes in a given state.
Gets the graph nodes in a given state.
the state of the returned graph nodes.
the graph nodes with the given state.
Gets the graph nodes in the given states.
Gets the graph nodes in the given states.
the states of the returned graph nodes.
the graph nodes with the given states.
Gets the graph nodes that imply they have predecessors.
Gets the graph nodes that imply they have predecessors.
the graph nodes that have predecessors (unmet dependencies).
Checks if we have failed tasks.
Checks if we have failed tasks.
true if we have failed tasks, false otherwise.
For testing purposes only.
For testing purposes only.
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
Writes a delimited string of the status of all tasks managed
Writes a delimited string of the status of all tasks managed
the method to use to write task status information, one line at a time
the delimiter between entries in a row
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.
the task to lookup.
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.
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. This will terminate the task if it is running.
the original task to replace.
the replacement task.
true if we are successful, false if the original is not being tracked.
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.
a bi-directional map from the set of tasks to their execution information.
Returns a map of running tasks and the resource set they were scheduled with.
Generates a path to a file to hold the task command
Generates a path to a file to hold the task command
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.
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.
Get the task's execution information if it exists.
Get the task's execution information if it exists.
the node associated with a task.
the task execution information if the task is managed, None otherwise
Get the task's execution information if it exists.
Get the task's execution information if it exists.
the task.
the task execution information if the task is managed, None otherwise
Get the task's execution information if it exists.
Get the task's execution information if it exists.
the task identifier.
the task execution information if the task is managed, None otherwise
Get the task identifier for the given task.
Get the task identifier for the given task.
the task.
the task identifier, None if the task is not being managed.
Gets the task associated with the identifier, if any
Gets the task associated with the identifier, if any
the task id
the task associate with the id if found, None otherwise
Get the task identifiers for all tracked tasks.
Get the task identifiers for all tracked tasks.
the task ids
Get the task's associated TaskStatus.
Get the task's associated TaskStatus.
the task identifier.
the task status if the task is managed, None otherwise.
Get the task's associated TaskStatus.
Get the task's associated TaskStatus.
the task.
the task status if the task is managed, None otherwise.
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.
the task and task execution information bi-directional map.
Attempts to terminate a task's underlying process.
Attempts to terminate a task's underlying process.
the identifier of the task to terminate
true if successful, false otherwise
A manager of tasks.
No validation of whether or not we actually have the provided system or in-Jvm resources will occur.