work_queue_task Struct Reference

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.
char * category
 User-provided label for the task.
category_allocation_t resource_request
 See category_allocation_t.
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 tried to be executed on some workers until success.
int try_count
 The number of times the task has been dispatched to a worker.
int exhausted_attempts
 Number of times the task failed given exhausted resources.
timestamp_t time_when_submitted
 The time at which this task was added to the queue.
timestamp_t time_when_done
 The time at which the task is mark as retrieved, after transfering output files and other final processing.
int disk_allocation_exhausted
 Non-zero if a task filled its loop device allocation, zero otherwise.
timestamp_t time_when_commit_start
 The time when the task starts to be transfered to a worker.
timestamp_t time_when_commit_end
 The time when the task is completely transfered to a worker.
timestamp_t time_when_retrieval
 The time when output files start to be transfered back to the master.
timestamp_t time_workers_execute_last
 Duration of the last complete execution for this task.
timestamp_t time_workers_execute_all
 Accumulated time for executing the command on any worker, regardless of whether the task completed (i.e., this includes time running on workers that disconnected).
timestamp_t time_workers_execute_exhaustion
 Accumulated time spent in attempts that exhausted resources.
timestamp_t time_workers_execute_failure
 Accumulated time for runs that terminated in worker failure/disconnection.
int64_t bytes_received
 Number of bytes received since task has last started receiving input data.
int64_t bytes_sent
 Number of bytes sent since task has last started sending input data.
int64_t bytes_transferred
 Number of bytes transferred since task has last started transferring input data.
struct rmsummaryresources_allocated
 Resources allocated to the task its latest attempt.
struct rmsummaryresources_measured
 When monitoring is enabled, it points to the measured resources used by the task in its latest attempt.
struct rmsummaryresources_requested
 Number of cores, disk, memory, time, etc.
char * monitor_output_directory
 Custom output directory for the monitoring output files.
char * monitor_snapshot_file
 Filename the monitor checks to produce snapshots.
struct list * features
 User-defined features this task requires.
timestamp_t time_task_submit
timestamp_t time_task_finish
timestamp_t time_committed
timestamp_t time_send_input_start
timestamp_t time_send_input_finish
timestamp_t time_receive_result_start
timestamp_t time_receive_result_finish
timestamp_t time_receive_output_start
timestamp_t time_receive_output_finish
timestamp_t time_execute_cmd_start
timestamp_t time_execute_cmd_finish
timestamp_t total_transfer_time
timestamp_t cmd_execution_time
timestamp_t total_cmd_execution_time
timestamp_t total_cmd_exhausted_execute_time
timestamp_t total_time_until_worker_failure
int64_t total_bytes_received
int64_t total_bytes_sent
int64_t total_bytes_transferred
timestamp_t time_app_delay

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.


Field Documentation

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.

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.

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

The name of the host on which it ran.

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.

category_allocation_t work_queue_task::resource_request

See category_allocation_t.

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

Number of times the task is tried to be executed on some workers until success.

If less than one, the task is retried indefinitely. See try_count below.

The number of times the task has been dispatched to a worker.

If larger than max_retries, the task failes with WORK_QUEUE_RESULT_MAX_RETRIES.

Number of times the task failed given exhausted resources.

The time at which this task was added to the queue.

The time at which the task is mark as retrieved, after transfering output files and other final processing.

Non-zero if a task filled its loop device allocation, zero otherwise.

The time when the task starts to be transfered to a worker.

The time when the task is completely transfered to a worker.

The time when output files start to be transfered back to the master.

time_done - time_when_retrieval is the time taken to transfer output files.

Duration of the last complete execution for this task.

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

Accumulated time spent in attempts that exhausted resources.

Accumulated time for runs that terminated in worker failure/disconnection.

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.

Resources allocated to the task its latest attempt.

When monitoring is enabled, it points to the measured resources used by the task in its latest attempt.

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

the task requires.

Custom output directory for the monitoring output files.

If NULL, save to directory from work_queue_enable_monitoring

Filename the monitor checks to produce snapshots.

struct list* work_queue_task::features [read]

User-defined features this task requires.

(See work_queue_worker's --feature option.)

Deprecated:
Use time_when_submitted.
Deprecated:
Use time_when_done.
Deprecated:
Use time_when_commit_start.
Deprecated:
Use time_when_commit_start.
Deprecated:
Use time_when_commit_end.
Deprecated:
Use time_when_retrieval instead.
Deprecated:
Use time_when_done instead.
Deprecated:
Use time_when_retrieval.
Deprecated:
Use time_when_done instead.
Deprecated:
Use time_when_commit_end instead.
Deprecated:
Use time_when_retrieval instead.
Deprecated:
Use (time_when_commit_end - time_when_commit_start) + (time_when_done - time_when_retrieval).
Deprecated:
Use time_workers_execute_last instead.
Deprecated:
Use time_workers_execute_all instead.
Deprecated:
Use time_workers_execute_exhaustion instead.
Deprecated:
Use time_workers_execute_failure instead.
Deprecated:
Use bytes_received instead.
Deprecated:
Use bytes_sent instead.
Deprecated:
Use bytes_transferred instead.
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 17 Sep 2019 for cctools by  doxygen 1.6.1