work_queue_task Struct Reference

#include <work_queue.h>


Detailed Description

A task description.

This structure should only be created with work_queue_task_create and delete with work_queue_task_delete. You may examine (but not modify) this structure once a task has completed.


Data Fields

char * tag
 An optional user-defined logical name for the task.
char * command_line
 The program(s) to execute, as a shell command line.
work_queue_schedule_t worker_selection_algorithm
 How to choose worker to run the task.
char * output
 The standard output of the task.
list * input_files
 The files to transfer to the worker and place in the executing directory.
list * output_files
 The output files (other than the standard output stream) created by the program to be retrieved from the task.
list * env_list
 Environment variables applied to the task.
int taskid
 A unique task id number.
int return_status
 The exit code of the command line.
work_queue_result_t result
 The result of the task (see work_queue_result_t.
char * host
 The address and port of the host on which it ran.
char * hostname
 The name of the host on which it ran.
timestamp_t time_committed
 The time at which a task was committed to a worker.
timestamp_t time_task_submit
 The time at which this task was submitted.
timestamp_t time_task_finish
 The time at which this task was finished.
timestamp_t time_send_input_start
 The time at which it started to transfer input files.
timestamp_t time_send_input_finish
 The time at which it finished transferring input files.
timestamp_t time_execute_cmd_start
 The time at which the task began.
timestamp_t time_execute_cmd_finish
 The time at which the task finished (discovered by the master).
timestamp_t time_receive_result_start
 The time at which it started to transfer the results.
timestamp_t time_receive_result_finish
 The time at which it finished transferring the results.
timestamp_t time_receive_output_start
 The time at which it started to transfer output files.
timestamp_t time_receive_output_finish
 The time at which it finished transferring output files.
int64_t total_bytes_received
 Number of bytes received since task has last started receiving input data.
int64_t total_bytes_sent
 Number of bytes sent since task has last started sending input data.
int64_t total_bytes_transferred
 Number of bytes transferred since task has last started transferring input data.
timestamp_t total_transfer_time
 Time comsumed in microseconds for transferring total_bytes_transferred.
timestamp_t cmd_execution_time
 Time spent in microseconds for executing the command until completion on a single worker.
int total_submissions
 The number of times the task has been submitted.
timestamp_t total_cmd_execution_time
 Accumulated time spent in microseconds for executing the command on any worker, regardless of whether the task finished (i.e., this includes time running on workers that disconnected).
double priority
 The priority of this task relative to others in the queue: higher number run earlier.
int max_retries
 Number of times the task is retried on worker errors until success.
rmsummary * resources_measured
 When monitoring is enabled, it points to the measured resources used by the task.
rmsummary * resources_requested
 Number of cores, disk, memory, time, etc.
category_allocation_t resource_request
 See category_allocation_t.
char * category
 User-provided label for the task.
timestamp_t time_app_delay


Field Documentation

char* work_queue_task::tag

An optional user-defined logical name for the task.

char* work_queue_task::command_line

The program(s) to execute, as a shell command line.

work_queue_schedule_t work_queue_task::worker_selection_algorithm

How to choose worker to run the task.

char* work_queue_task::output

The standard output of the task.

struct list* work_queue_task::input_files

The files to transfer to the worker and place in the executing directory.

struct list* work_queue_task::output_files

The output files (other than the standard output stream) created by the program to be retrieved from the task.

struct list* work_queue_task::env_list

Environment variables applied to the task.

int work_queue_task::taskid

A unique task id number.

int work_queue_task::return_status

The exit code of the command line.

work_queue_result_t work_queue_task::result

The result of the task (see work_queue_result_t.

char* work_queue_task::host

The address and port of the host on which it ran.

char* work_queue_task::hostname

The name of the host on which it ran.

timestamp_t work_queue_task::time_committed

The time at which a task was committed to a worker.

timestamp_t work_queue_task::time_task_submit

The time at which this task was submitted.

timestamp_t work_queue_task::time_task_finish

The time at which this task was finished.

timestamp_t work_queue_task::time_send_input_start

The time at which it started to transfer input files.

timestamp_t work_queue_task::time_send_input_finish

The time at which it finished transferring input files.

timestamp_t work_queue_task::time_execute_cmd_start

The time at which the task began.

timestamp_t work_queue_task::time_execute_cmd_finish

The time at which the task finished (discovered by the master).

timestamp_t work_queue_task::time_receive_result_start

The time at which it started to transfer the results.

timestamp_t work_queue_task::time_receive_result_finish

The time at which it finished transferring the results.

timestamp_t work_queue_task::time_receive_output_start

The time at which it started to transfer output files.

timestamp_t work_queue_task::time_receive_output_finish

The time at which it finished transferring output files.

int64_t work_queue_task::total_bytes_received

Number of bytes received since task has last started receiving input data.

int64_t work_queue_task::total_bytes_sent

Number of bytes sent since task has last started sending input data.

int64_t work_queue_task::total_bytes_transferred

Number of bytes transferred since task has last started transferring input data.

timestamp_t work_queue_task::total_transfer_time

Time comsumed in microseconds for transferring total_bytes_transferred.

timestamp_t work_queue_task::cmd_execution_time

Time spent in microseconds for executing the command until completion on a single worker.

int work_queue_task::total_submissions

The number of times the task has been submitted.

timestamp_t work_queue_task::total_cmd_execution_time

Accumulated time spent in microseconds for executing the command on any worker, regardless of whether the task finished (i.e., this includes time running on workers that disconnected).

double work_queue_task::priority

The priority of this task relative to others in the queue: higher number run earlier.

int work_queue_task::max_retries

Number of times the task is retried on worker errors until success.

If less than one, the task is retried indefinitely.

struct rmsummary* work_queue_task::resources_measured

When monitoring is enabled, it points to the measured resources used by the task.

struct rmsummary* work_queue_task::resources_requested

Number of cores, disk, memory, time, etc.

the task requires.

category_allocation_t work_queue_task::resource_request

See category_allocation_t.

char* work_queue_task::category

User-provided label for the task.

It is expected that all task with the same category will have similar resource usage. See work_queue_task_specify_category. If no explicit category is given, the label "default" is used.

timestamp_t work_queue_task::time_app_delay

Deprecated:
The time spent in upper-level application (outside of work_queue_wait).


The documentation for this struct was generated from the following file:
Generated on 14 Apr 2016 for cctools by  doxygen 1.4.7