#include <work_queue.h>
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 |
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 |
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.
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).
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 |
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.
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.