A task description. More...
#include <work_queue.h>
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. | |
struct list * | input_files |
The files to transfer to the worker and place in the executing directory. | |
struct list * | output_files |
The output files (other than the standard output stream) created by the program to be retrieved from the task. | |
struct 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). | |
timestamp_t | maximum_end_time |
Maximum time (microseconds from epoch) this is valid. | |
int64_t | memory |
Memory required by the task. | |
int64_t | disk |
Disk space required by the task. | |
int | cores |
Number of cores required by the task. | |
int | gpus |
Number of gpus required by the task. | |
int | unlabeled |
1 if the task did not specify any required resource. | |
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. | |
struct rmsummary * | resources_measured |
When monitoring is enabled, it points to the measured resources used by the task. | |
timestamp_t | time_app_delay |
timestamp_t | maximum_running_time |
Maximum time (microseconds) this task may run in a worker. |
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.
char* work_queue_task::tag |
An optional user-defined logical name for the task.
The program(s) to execute, as a shell command line.
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 [read] |
The files to transfer to the worker and place in the executing directory.
struct list* work_queue_task::output_files [read] |
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 [read] |
Environment variables applied to the task.
A unique task id number.
The exit code of the command line.
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.
The name of the host on which it ran.
The time at which a task was committed to a worker.
The time at which this task was submitted.
The time at which this task was finished.
The time at which it started to transfer input files.
The time at which it finished transferring input files.
The time at which the task began.
The time at which the task finished (discovered by the master).
The time at which it started to transfer the results.
The time at which it finished transferring the results.
The time at which it started to transfer output files.
The time at which it finished transferring output files.
Number of bytes received since task has last started receiving input data.
Number of bytes sent since task has last started sending input data.
Number of bytes transferred since task has last started transferring input data.
Time comsumed in microseconds for transferring total_bytes_transferred.
Time spent in microseconds for executing the command until completion on a single worker.
The number of times the task has been submitted.
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).
Maximum time (microseconds from epoch) this is valid.
If less than 1, then task is always valid (default).
int64_t work_queue_task::memory |
Memory required by the task.
(MB)
int64_t work_queue_task::disk |
Disk space required by the task.
(MB)
Number of cores required by the task.
Number of gpus required by the task.
1 if the task did not specify any required resource.
0 otherwise.
double work_queue_task::priority |
The priority of this task relative to others in the queue: higher number run earlier.
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 [read] |
When monitoring is enabled, it points to the measured resources used by the task.
Maximum time (microseconds) this task may run in a worker.
If less than 1, no limit is enforced (default).