# saga::job::job Class Reference

The job provides the manageability interface to a job instance submitted to a resource manager. More...

`#include <job.hpp>`

Inheritance diagram for saga::job::job:

[legend]

List of all members.

## Public Member Functions
| job ()
| Creates the object.
| job (saga::object const &o)
| Creates the object.
| ~job ()
| Destroys the object.
job & | operator= (saga::object const &o)
| Brief description starts here.
std::string | get_job_id ()
| Brief description starts here.
void | run ()
| Start the job.
bool | wait (double timeout=-1.0)
| Wait for the job to complete.
void | cancel (double timeout=0.0)
| Cancel the job.
saga::job::state | get_state ()
| Get the state of the job.
saga::job::description | get_description ()
| Retrieve the description which was used to submit this job instance.
saga::job::ostream | get_stdin ()
| Retrieve input stream for a job.
saga::job::istream | get_stdout ()
| Retrieve output stream of job.
saga::job::istream | get_stderr ()
| Retrieve error stream of job.
void | suspend ()
| Ask the resource manager to suspend this job.
void | resume ()
| Ask the resource manager to resume this job.
void | checkpoint ()
| Ask the resource manager to checkpoint this job.
void | migrate (description job_desc)
| Ask the resource manager to migrate this job.
void | signal (int signal)
| Ask the resource manager to deliver an arbitrary signal to this job.

## Detailed Description

The job provides the manageability interface to a job instance submitted to a resource manager.

There are two general types of methods: those for retrieving job state and information, and those for manipulating the job. The methods intended to manipulate jobs cannot make any guarantees about how the resource manager will affect an action to be taken. The API implementation is designed to be agnostic of the backend implementation, such that any backend could be implemented to perform an action. For example, the checkpoint routine might cause an application level checkpoint, or might use the services of GridCPR.

## Constructor & Destructor Documentation

saga::job::job::job | ( |  | ) |

Creates the object.

Reimplemented in saga::cpr::job.

saga::job::job::job | ( | saga::object const & | o | ) | `[explicit]`

Creates the object.

Reimplemented in saga::cpr::job.

saga::job::job::~job | ( | void |  | ) |

Destroys the object.

Reimplemented in saga::cpr::job.

## Member Function Documentation

job & saga::job::job::operator= | ( | saga::object const & | o | ) |

Brief description starts here.

Reimplemented in saga::cpr::job.

Referenced by saga::cpr::job::operator=().

std::string saga::job::job::get_job_id | ( |  | ) | `[inline]`

Brief description starts here.

void saga::job::job::run | ( | void |  | ) | `[inline]`

Start the job.

Reimplemented from saga::task.

bool saga::job::job::wait | ( | double | timeout = `-1.0` | ) | `[inline]`

Wait for the job to complete.

Reimplemented from saga::task.

void saga::job::job::cancel | ( | double | timeout = `0.0` | ) | `[inline]`

Cancel the job.

saga::job::state saga::job::job::get_state | ( | void |  | ) | `[inline]`

Get the state of the job.

Returns:
  State of the job

Reimplemented from saga::task.

saga::job::description saga::job::job::get_description | ( |  | ) | `[inline]`

Retrieve the description which was used to submit this job instance.

Returns:
  A job_description object

saga::job::ostream saga::job::job::get_stdin | ( |  | ) | `[inline]`

Retrieve input stream for a job.

Returns:
  standard input stream for the job

saga::job::istream saga::job::job::get_stdout | ( |  | ) | `[inline]`

Retrieve output stream of job.

Returns:
  Standard output stream for the job

saga::job::istream saga::job::job::get_stderr | ( |  | ) | `[inline]`

Retrieve error stream of job.

Returns:
  Standard error stream for the job

void saga::job::job::suspend | ( |  | ) | `[inline]`

Ask the resource manager to suspend this job.

void saga::job::job::resume | ( |  | ) | `[inline]`

Ask the resource manager to resume this job.

void saga::job::job::checkpoint | ( | void |  | ) | `[inline]`

Ask the resource manager to checkpoint this job.

void saga::job::job::migrate | ( | description | job_desc | ) | `[inline]`

Ask the resource manager to migrate this job.

Parameters:

  | job_desc | New job parameters to apply when the job is migrated

void saga::job::job::signal | ( | int | signal | ) | `[inline]`

Ask the resource manager to deliver an arbitrary signal to this job.

Parameters:

  | signum | Signal number to be delivered

The documentation for this class was generated from the following files:

- packages/job/job.hpp
- job.cpp