cctools
|
Public Member Functions | |
def | __init__ |
Create a new task specification. More... | |
def | clone |
Return a copy of this task. More... | |
def | specify_command |
Set the command to be executed by the task. More... | |
def | specify_algorithm |
Set the worker selection algorithm for task. More... | |
def | specify_tag |
Attach a user defined logical name to the task. More... | |
def | specify_preferred_host |
Indicate that the task would be optimally run on a given host. More... | |
def | specify_file |
Add a file to the task. More... | |
def | specify_file_piece |
Add a file piece to the task. More... | |
def | specify_input_file |
Add a input file to the task. More... | |
def | specify_output_file |
Add a output file to the task. More... | |
def | specify_directory |
Add a directory to the task. More... | |
def | specify_buffer |
Add an input bufer to the task. More... | |
def | specify_cores |
Indicate the number of cores required by this task. More... | |
def | specify_memory |
Indicate the memory (in MB) required by this task. More... | |
def | specify_disk |
Indicate the disk space (in MB) required by this task. More... | |
def | specify_priority |
Indicate the the priority of this task (larger means better priority, default is 0). More... | |
def | tag |
Get the user-defined logical name for the task. More... | |
def | command |
Get the shell command executed by the task. More... | |
def | priority |
Get the priority of the task. More... | |
def | algorithm |
Get the algorithm for choosing worker to run the task. More... | |
def | output |
Get the standard output of the task. More... | |
def | id |
Get the task id number. More... | |
def | return_status |
Get the exit code of the command executed by the task. More... | |
def | result |
Get the result of the task, such as successful, missing file, etc. More... | |
def | total_submissions |
Get the number of times the task has been resubmitted internally. More... | |
def | host |
Get the address and port of the host on which the task ran. More... | |
def | hostname |
Get the name of the host on which the task ran. More... | |
def | submit_time |
Get the time at which this task was submitted. More... | |
def | finish_time |
Get the time at which this task was finished. More... | |
def | app_delay |
Get the time spent in upper-level application (outside of work_queue_wait). More... | |
def | send_input_start |
Get the time at which the task started to transfer input files. More... | |
def | send_input_finish |
Get the time at which the task finished transferring input files. More... | |
def | execute_cmd_start |
The time at which the task began. More... | |
def | execute_cmd_finish |
Get the time at which the task finished (discovered by the master). More... | |
def | receive_output_start |
Get the time at which the task started to transfer output files. More... | |
def | receive_output_finish |
Get the time at which the task finished transferring output files. More... | |
def | total_bytes_received |
Get the number of bytes received since task started receiving input data. More... | |
def | total_bytes_sent |
Get the number of bytes sent since task started sending input data. More... | |
def | total_bytes_transferred |
Get the number of bytes transferred since task started transferring input data. More... | |
def | total_transfer_time |
Get the time comsumed in microseconds for transferring total_bytes_transferred. More... | |
def | cmd_execution_time |
Get the time spent in microseconds for executing the command on the worker. More... | |
def | total_cmd_execution_time |
Get the time spent in microseconds for executing the command on any worker. More... | |
def | resources_measured |
Get the resources measured for the task execution if resource monitoring is enabled. More... | |
Python Task object.
This class is used to create a task specification.
def work_queue.Task.__init__ | ( | self, | |
command | |||
) |
Create a new task specification.
self | Reference to the current task object. |
command | The shell command line to be exected by the task. |
References work_queue.Task._task, work_queue_task_create(), and work_queue_task_delete().
def work_queue.Task.clone | ( | self | ) |
Return a copy of this task.
Return a (deep)copy this task that can also be submitted to the WorkQueue.
References work_queue.Task._task, and work_queue_task_clone().
def work_queue.Task.specify_command | ( | self, | |
command | |||
) |
Set the command to be executed by the task.
self | Reference to the current task object. |
command | The command to be executed. |
References work_queue.Task._task, and work_queue_task_specify_command().
def work_queue.Task.specify_algorithm | ( | self, | |
algorithm | |||
) |
Set the worker selection algorithm for task.
self | Reference to the current task object. |
algorithm | One of the following algorithms to use in assigning a task to a worker. See work_queue_schedule_t for possible values. |
References work_queue.Task._task, and work_queue_task_specify_algorithm().
def work_queue.Task.specify_tag | ( | self, | |
tag | |||
) |
Attach a user defined logical name to the task.
self | Reference to the current task object. |
tag | The tag to attach to task. |
References work_queue.Task._task, and work_queue_task_specify_tag().
def work_queue.Task.specify_preferred_host | ( | self, | |
hostname | |||
) |
Indicate that the task would be optimally run on a given host.
self | Reference to the current task object. |
hostname | The hostname to which this task would optimally be sent. |
References work_queue.Task._task.
def work_queue.Task.specify_file | ( | self, | |
local_name, | |||
remote_name = None , |
|||
type = None , |
|||
flags = None , |
|||
cache = True |
|||
) |
Add a file to the task.
self | Reference to the current task object. |
local_name | The name of the file on local disk or shared filesystem. |
remote_name | The name of the file at the execution site. |
type | Must be one of the following values: WORK_QUEUE_INPUT or WORK_QUEUE_OUTPUT |
flags | May be zero to indicate no special handling, or any of the work_queue_file_flags_t or'd together The most common are: |
cache | Legacy parameter for setting file caching attribute. By default this is enabled. |
For example:
References work_queue.Task._task, and work_queue_task_specify_file().
Referenced by work_queue.Task.specify_input_file(), and work_queue.Task.specify_output_file().
def work_queue.Task.specify_file_piece | ( | self, | |
local_name, | |||
remote_name = None , |
|||
start_byte = 0 , |
|||
end_byte = 0 , |
|||
type = None , |
|||
flags = None , |
|||
cache = True |
|||
) |
Add a file piece to the task.
self | Reference to the current task object. |
local_name | The name of the file on local disk or shared filesystem. |
remote_name | The name of the file at the execution site. |
start_byte | The starting byte offset of the file piece to be transferred. |
end_byte | The ending byte offset of the file piece to be transferred. |
type | Must be one of the following values: WORK_QUEUE_INPUT or WORK_QUEUE_OUTPUT |
flags | May be zero to indicate no special handling, or any of the work_queue_file_flags_t or'd together The most common are: |
cache | Legacy parameter for setting file caching attribute. By default this is enabled. |
References work_queue.Task._task, and work_queue_task_specify_file_piece().
def work_queue.Task.specify_input_file | ( | self, | |
local_name, | |||
remote_name = None , |
|||
flags = None , |
|||
cache = True |
|||
) |
Add a input file to the task.
This is just a wrapper for specify_file with type set to WORK_QUEUE_INPUT.
References work_queue.Task.specify_file().
def work_queue.Task.specify_output_file | ( | self, | |
local_name, | |||
remote_name = None , |
|||
flags = None , |
|||
cache = True |
|||
) |
Add a output file to the task.
This is just a wrapper for specify_file with type set to WORK_QUEUE_OUTPUT.
References work_queue.Task.specify_file().
def work_queue.Task.specify_directory | ( | self, | |
local_name, | |||
remote_name = None , |
|||
type = None , |
|||
flags = None , |
|||
recursive = 0 , |
|||
cache = True |
|||
) |
Add a directory to the task.
self | Reference to the current task object. |
local_name | The name of the directory on local disk or shared filesystem. Optional if the directory is empty. |
remote_name | The name of the directory at the remote execution site. |
type | Must be one of the following values: WORK_QUEUE_INPUT or WORK_QUEUE_OUTPUT |
flags | May be zero to indicate no special handling, or any of the work_queue_file_flags_t or'd together The most common are: |
recursive | Indicates whether just the directory (0) or the directory and all of its contents (1) should be included. |
cache | Legacy parameter for setting file caching attribute. By default this is enabled. |
References work_queue.Task._task, and work_queue_task_specify_directory().
def work_queue.Task.specify_buffer | ( | self, | |
buffer, | |||
remote_name, | |||
flags = None , |
|||
cache = True |
|||
) |
Add an input bufer to the task.
self | Reference to the current task object. |
buffer | The contents of the buffer to pass as input. |
remote_name | The name of the remote file to create. |
flags | May take the same values as specify_file. |
cache | Legacy parameter for setting file caching attribute. By default this is enabled. |
References work_queue.Task._task, and work_queue_task_specify_buffer().
def work_queue.Task.specify_cores | ( | self, | |
cores | |||
) |
Indicate the number of cores required by this task.
References work_queue.Task._task, and work_queue_task_specify_cores().
def work_queue.Task.specify_memory | ( | self, | |
memory | |||
) |
Indicate the memory (in MB) required by this task.
References work_queue.Task._task, and work_queue_task_specify_memory().
def work_queue.Task.specify_disk | ( | self, | |
disk | |||
) |
Indicate the disk space (in MB) required by this task.
References work_queue.Task._task, and work_queue_task_specify_disk().
def work_queue.Task.specify_priority | ( | self, | |
priority | |||
) |
Indicate the the priority of this task (larger means better priority, default is 0).
References work_queue.Task._task, work_queue_task_specify_end_time(), work_queue_task_specify_enviroment_variable(), and work_queue_task_specify_priority().
def work_queue.Task.tag | ( | self | ) |
def work_queue.Task.command | ( | self | ) |
def work_queue.Task.priority | ( | self | ) |
def work_queue.Task.algorithm | ( | self | ) |
def work_queue.Task.output | ( | self | ) |
def work_queue.Task.id | ( | self | ) |
def work_queue.Task.return_status | ( | self | ) |
def work_queue.Task.result | ( | self | ) |
Get the result of the task, such as successful, missing file, etc.
See work_queue_result_t for possible values. Must be called only after the task completes execution. Note: This is defined using property decorator. So it must be called without parentheses (). For example:
def work_queue.Task.total_submissions | ( | self | ) |
def work_queue.Task.host | ( | self | ) |
def work_queue.Task.hostname | ( | self | ) |
def work_queue.Task.submit_time | ( | self | ) |
def work_queue.Task.finish_time | ( | self | ) |
def work_queue.Task.app_delay | ( | self | ) |
def work_queue.Task.send_input_start | ( | self | ) |
def work_queue.Task.send_input_finish | ( | self | ) |
def work_queue.Task.execute_cmd_start | ( | self | ) |
def work_queue.Task.execute_cmd_finish | ( | self | ) |
def work_queue.Task.receive_output_start | ( | self | ) |
def work_queue.Task.receive_output_finish | ( | self | ) |
def work_queue.Task.total_bytes_received | ( | self | ) |
def work_queue.Task.total_bytes_sent | ( | self | ) |
def work_queue.Task.total_bytes_transferred | ( | self | ) |
def work_queue.Task.total_transfer_time | ( | self | ) |
def work_queue.Task.cmd_execution_time | ( | self | ) |
def work_queue.Task.total_cmd_execution_time | ( | self | ) |
def work_queue.Task.resources_measured | ( | self | ) |