wrench::StandardJob

class StandardJob : public wrench::Job, public std::enable_shared_from_this<StandardJob>

A standard (i.e., non-pilot) workflow job that can be submitted to a ComputeService by a WMS (via a JobManager)

Public Types

enum State

Standard job states.

Values:

enumerator NOT_SUBMITTED

Not submitted yet.

enumerator PENDING

Submitted but not running yet.

enumerator RUNNING

Running.

enumerator COMPLETED

Completed successfully.

enumerator FAILED

Failed.

enumerator TERMINATED

Terminated by submitter.

Public Functions

std::map<std::shared_ptr<DataFile>, std::vector<std::shared_ptr<FileLocation>>> getFileLocations() const

Get the file location map for the job.

Returns:

a map of files to storage services

double getMinimumRequiredMemory() const

Returns the minimum RAM capacity required to run the job (i.e., at least one task in the job cannot run if less ram than this minimum is available)

Returns:

the number of cores

unsigned long getMinimumRequiredNumCores() const

Returns the minimum number of cores required to run the job (i.e., at least one task in the job cannot run if fewer cores than this minimum are available)

Returns:

the number of cores

unsigned long getNumCompletedTasks() const

Get the number of completed tasks in the job.

Returns:

the number of completed tasks

unsigned long getNumTasks() const

Get the number of tasks in the job.

Returns:

the number of tasks

double getPostJobOverheadInSeconds() const

get the job’s post-overhead

Returns:

a number o seconds

double getPreJobOverheadInSeconds() const

get the job’s pre-overhead

Returns:

a number o seconds

inline std::shared_ptr<StandardJob> getSharedPtr()

Get the shared pointer for this object.

Returns:

a shared pointer to the object

StandardJob::State getState()

Get the state of the standard job.

Returns:

the state

std::vector<std::shared_ptr<WorkflowTask>> getTasks() const

Get the workflow tasks in the job.

Returns:

a vector of workflow tasks

void setPostJobOverheadInSeconds(double overhead)

sets the job’s post-overhead

Parameters:

overhead – the overhead in seconds

void setPreJobOverheadInSeconds(double overhead)

sets the job’s pre-overhead

Parameters:

overhead – the overhead in seconds

bool usesScratch()

Determines whether the job’s spec uses scratch space.

Returns:

Public Members

std::vector<std::shared_ptr<FileLocation>> cleanup_file_deletions

The ordered file deletion operations to perform at the end.

std::map<std::shared_ptr<DataFile>, std::vector<std::shared_ptr<FileLocation>>> file_locations

The file locations that tasks should read/write files from/to. Each file is given a list of locations, in preferred order.

std::vector<std::tuple<std::shared_ptr<FileLocation>, std::shared_ptr<FileLocation>>> post_file_copies

The ordered file copy operations to perform after computational tasks.

std::vector<std::tuple<std::shared_ptr<FileLocation>, std::shared_ptr<FileLocation>>> pre_file_copies

The ordered file copy operations to perform before computational tasks.

std::vector<std::shared_ptr<WorkflowTask>> tasks

The job’s computational tasks.

double total_flops

The job’s total computational cost (in flops)