wrench::WorkflowTask
-
class WorkflowTask : public std::enable_shared_from_this<WorkflowTask>
A computational task in a Workflow.
Public Types
-
enum State
Task states.
Values:
-
enumerator NOT_READY
Not ready (parents have not completed)
-
enumerator READY
Ready (parents have completed)
-
enumerator PENDING
Pending (has been submitted to a compute service)
-
enumerator COMPLETED
Completed (successfully completed)
-
enumerator UNKNOWN
Some Unknown state (should not happen)
-
enumerator NOT_READY
Public Functions
Add an input file to the task.
- Parameters:
file – the file
- Throws:
std::invalid_argument –
Add an output file to the task.
- Parameters:
file – the file
-
int getBottomLevel() const
Returns the task’s bottom level (max number of hops on a path down to an exit task. Exit tasks have a bottom-level of 0)
- Returns:
-
unsigned long getBytesRead() const
Get the number of bytes read by the task.
- Returns:
number of bytes read by the task
-
unsigned long getBytesWritten() const
Get the number of bytes written by the task.
- Returns:
number of bytes written by the task
-
std::vector<std::shared_ptr<WorkflowTask>> getChildren()
Get the children of a task.
- Returns:
a list of workflow tasks
-
std::string getClusterID() const
Get the cluster Id for the task.
- Returns:
a cluster id, or an empty string
-
std::string getColor() const
Get the task’s color (”” if none)
- Returns:
A color string in “#rrggbb” format
-
double getComputationEndDate() const
Get the task’s most recent computation end date.
- Returns:
the date when the computation portion of a task ended (-1 if computation has not ended yet or if no execution history exists for this task yet)
-
double getComputationStartDate() const
Get the task’s most recent computation start date.
- Returns:
the date when the computation portion of a task started (-1 if computation has not started yet or if no execution history exists for this task yet)
-
double getEndDate() const
Get the task’s most recent end date.
- Returns:
a end date (-1 if task has not completed yet or if no execution history exists for this task yet)
-
std::stack<WorkflowTaskExecution> getExecutionHistory() const
Get the execution history of this task.
- Returns:
a stack of WorkflowTaskExecution objects, one for each attempted execution of the task
-
std::string getExecutionHost() const
Returns the name of the host on which the task has most recently been executed, or “” if the task has never been executed yet. Could be a virtual hostname.
- Returns:
hostname
-
unsigned int getFailureCount() const
Get the number of times a task has failed.
- Returns:
a failure count
-
double getFailureDate() const
Get the task’s most recent failure date.
- Returns:
the date when the task failed (-1 if it didn’t fail or if no execution history exists for this task yet)
-
double getFlops() const
Get the number of flops of the task.
- Returns:
a number of flops
-
const std::string &getID() const
Get the id of the task.
- Returns:
an id as a string
-
std::vector<std::shared_ptr<DataFile>> getInputFiles() const
Get the list of input DataFile objects for the task.
- Returns:
a list workflow files
-
unsigned long getMaxNumCores() const
Get the maximum number of cores that the task can use.
- Returns:
a number of cores
-
double getMemoryRequirement() const
Get the memory requirement of the task.
- Returns:
a memory requirement (in bytes)
-
unsigned long getMinNumCores() const
Get the minimum number of cores required for running the task.
- Returns:
a number of cores
-
unsigned long getNumberOfChildren()
Get the number of children of a task.
- Returns:
a number of children
-
unsigned long getNumberOfParents()
Get the number of parents of a task.
- Returns:
a number of parents
-
unsigned long getNumCoresAllocated() const
Returns the number of cores allocated for this task’s most recent execution or 0 if an execution attempt was never made.
- Returns:
number of cores
-
std::vector<std::shared_ptr<DataFile>> getOutputFiles() const
Get the list of output DataFile objects for the task.
- Returns:
a list of workflow files
-
std::shared_ptr<ParallelModel> getParallelModel() const
Get the task’s parallel model.
- Returns:
the parallel model
-
std::vector<std::shared_ptr<WorkflowTask>> getParents()
Get the parents of a task.
- Returns:
a list of workflow tasks
-
std::string getPhysicalExecutionHost() const
Returns the name of the PHYSICAL host on which the task has most recently been executed, or “” if the task has never been executed yet.
- Returns:
hostname
-
unsigned long getPriority() const
Get the task priority. By default, priority is 0.
- Returns:
the task priority
-
double getReadInputEndDate() const
Get the task’s most recent read input end date.
- Returns:
the date when the read input portion of the task has completed (-1 if it has not begun or if no execution history exists for this task yet)
-
double getReadInputStartDate() const
Get the task’s most recent read input start date.
- Returns:
the date when the read input portion of the task has begun (-1 if it has not yet begun or if no execution history exists for this task yet)
Retrieved the official shared pointer for this object.
- Returns:
a shared pointer
-
double getStartDate() const
Get the task’s most recent start date.
- Returns:
a start date (-1 if task has not started yet)
-
WorkflowTask::State getState() const
Get the state of the task.
- Returns:
a task state
-
std::string getStateAsString() const
Get the state of the task as a string.
- Returns:
a string
-
double getTerminationDate() const
Get the task’s most recent termination date (when it was explicitly requested to be terminated by the execution controller)
- Returns:
the date when the task was terminated (-1 if it wasn’t terminated or if not execution history exists for this task yet)
-
int getTopLevel() const
Returns the task’s top level (max number of hops on a reverse path up to an entry task. Entry tasks have a top-level of 0)
- Returns:
-
double getWriteOutputEndDate() const
Get the task’s most recent write output end date.
- Returns:
the date when the write output portion of a task has completed (-1 if it has not completed yet or if no execution history exists for this task yet)
-
double getWriteOutputStartDate() const
Get the task’s most recent write output start date.
- Returns:
the date when the write output portion of a task has begun (-1 if it has not yet started or if no execution history exists for this task yet)
-
void setBytesRead(unsigned long)
Set the number of bytes read by the task.
- Parameters:
b_read – number of bytes read by the task
-
void setBytesWritten(unsigned long)
Set the number of bytes written by the task.
- Parameters:
b_written – number of bytes written by the task
-
void setClusterID(const std::string&)
Set the cluster c_id for the task.
- Parameters:
c_id – cluster c_id the task belongs to
-
void setColor(const std::string&)
Set the task’s color.
- Parameters:
c – A color string in “#rrggbb” format
-
void setFlops(double f)
Set the number of flops of the task (to be used only in very specific cases in which it is guaranteed that changing a task’s work after that task has been created is a valid thing to do)
- Parameters:
f – the number of flops
-
void setMaxNumCores(unsigned long num_cores)
Set the maximum number of cores that the task can use (to be used only in very specific cases in which it is guaranteed that changing a task’s maximum number of cores after that task has been created is a valid thing to do)
- Parameters:
num_cores – a number of cores
-
void setMemoryRequirement(double num_bytes)
Set the memory requirement of the task.
- Parameters:
num_bytes – a number of bytes
-
void setMinNumCores(unsigned long num_cores)
Set the minimum number of cores required for running the task (to be used only in very specific cases in which it is guaranteed that changing a task’s minimum number of cores after that task has been created is a valid thing to do)
- Parameters:
num_cores – a number of cores
Set the task’s parallel model.
- Parameters:
model – a parallel model
-
void setPriority(long)
Set the task p.
- Parameters:
p – task p
Public Static Functions
-
enum State