cctools
ndcctools.taskvine.task.FunctionCall Class Reference
Inheritance diagram for ndcctools.taskvine.task.FunctionCall:
ndcctools.taskvine.task.PythonTask ndcctools.taskvine.task.Task ndcctools.taskvine.dask_executor.FunctionCallDask ndcctools.taskvine.futures.FutureFunctionCall

Public Member Functions

def __init__ (self, library_name, fn, *args, **kwargs)
 Create a new FunctionCall specification. More...
 
def submit_finalize (self)
 Finalizes the task definition once the manager that will execute is run. More...
 
def set_fn_args (self, args=[], kwargs={})
 Specify function arguments. More...
 
def set_exec_method (self, remote_task_exec_method)
 Specify how the remote task should execute. More...
 
def output (self)
 Retrieve output, handles cleanup, and returns result or failure reason. More...
 
- Public Member Functions inherited from ndcctools.taskvine.task.PythonTask
def __init__ (self, func, *args, **kwargs)
 Creates a new python task. More...
 
def enable_temp_output (self)
 Marks the output of this task to stay at the worker. More...
 
def set_output_cache (self, cache=False)
 Set the cache behavior for the output of the task. More...
 
def output_file (self)
 Returns the ndcctools.taskvine.file.File object that represents the output of this task. More...
 
def disable_output_serialization (self)
 Disables serialization of results to disk when writing to a file for transmission. More...
 
- Public Member Functions inherited from ndcctools.taskvine.task.Task
def __init__ (self, command, **task_info)
 Create a new task specification. More...
 
def clone (self)
 Return a copy of this task. More...
 
def set_command (self, command)
 Set the command to be executed by the task. More...
 
def needs_library (self, library_name)
 Set the name of the library at the worker that should execute the task's command. More...
 
def provides_library (self, library_name)
 Set the library name provided by this task. More...
 
def set_function_slots (self, nslots)
 Set the number of concurrent functions a library can run. More...
 
def set_scheduler (self, scheduler)
 Set the worker selection scheduler for task. More...
 
def set_tag (self, tag)
 Attach a user defined logical name to the task. More...
 
def set_category (self, name)
 Label the task with the given category. More...
 
def add_feature (self, name)
 Label the task with the given user-defined feature. More...
 
def add_input (self, file, remote_name, strict_input=False, mount_symlink=False)
 Add any input object to a task. More...
 
def add_output (self, file, remote_name, watch=False, failure_only=None, success_only=None)
 Add any output object to a task. More...
 
def set_snapshot_file (self, filename)
 When monitoring, indicates a json-encoded file that instructs the monitor to take a snapshot of the task resources. More...
 
def add_starch_package (self, file)
 Add a Starch package as an execution context. More...
 
def add_poncho_package (self, file)
 Add a Poncho package as an execution context. More...
 
def add_execution_context (self, f)
 Adds an execution context to the task. More...
 
def set_retries (self, max_retries)
 Indicate the number of times the task should be retried. More...
 
def set_max_forsaken (self, max_forsaken)
 Indicate the number of times the task can be returned to the manager without being executed. More...
 
def set_cores (self, cores)
 Indicate the number of cores required by this task. More...
 
def set_memory (self, memory)
 Indicate the memory (in MB) required by this task. More...
 
def set_disk (self, disk)
 Indicate the disk space (in MB) required by this task. More...
 
def set_gpus (self, gpus)
 Indicate the number of GPUs required by this task. More...
 
def set_priority (self, priority)
 Indicate the the priority of this task (larger means better priority, default is 0). More...
 
def set_env_var (self, name, value=None)
 Set this environment variable before running the task. More...
 
def set_monitor_output (self, directory)
 Set a name for the resource summary output directory from the monitor. More...
 
def tag (self)
 Get the user-defined logical name for the task. More...
 
def category (self)
 Get the category name for the task. More...
 
def command (self)
 Get the shell command executed by the task. More...
 
def std_output (self)
 Get the standard output of the task. More...
 
def id (self)
 Get the task id number. More...
 
def exit_code (self)
 Get the exit code of the command executed by the task. More...
 
def result (self)
 Return a string that explains the result of a task. More...
 
def completed (self)
 Return True if task executed and its command terminated normally. More...
 
def successful (self)
 Return True if task executed successfully, (i.e. More...
 
def get_metric (self, name)
 Return various integer performance metrics about a completed task. More...
 
def addrport (self)
 Get the address and port of the host on which the task ran. More...
 
def hostname (self)
 Get the address and port of the host on which the task ran. More...
 
def resources_measured (self)
 Get the resources measured for the task execution if resource monitoring is enabled. More...
 
def limits_exceeded (self)
 Get the resources the task exceeded. More...
 
def resources_requested (self)
 Get the resources the task requested to run. More...
 
def resources_allocated (self)
 Get the resources allocated to the task in its latest attempt. More...
 
def add_nopen (self, manager)
 Adds inputs for nopen library and rules file and sets LD_PRELOAD. More...
 

Detailed Description

TaskVine FunctionCall object

This class represents a task specialized to execute functions in a Library running on a worker.

Constructor & Destructor Documentation

◆ __init__()

def ndcctools.taskvine.task.FunctionCall.__init__ (   self,
  library_name,
  fn,
args,
**  kwargs 
)

Create a new FunctionCall specification.

Parameters
selfReference to the current FunctionCall object.
library_nameThe name of the library which has the function you wish to execute.
fnThe name of the function to be executed on the library.
argspositional arguments used in function to be executed by task. Can be mixed with kwargs
kwargskeyword arguments used in function to be executed by task.

Member Function Documentation

◆ submit_finalize()

def ndcctools.taskvine.task.FunctionCall.submit_finalize (   self)

Finalizes the task definition once the manager that will execute is run.

This function is run by the manager before registering the task for execution.

Parameters
selfReference to the current python task object

Reimplemented from ndcctools.taskvine.task.PythonTask.

Reimplemented in ndcctools.taskvine.futures.FutureFunctionCall.

◆ set_fn_args()

def ndcctools.taskvine.task.FunctionCall.set_fn_args (   self,
  args = [],
  kwargs = {} 
)

Specify function arguments.

Accepts arrays and dictionaries. This overrides any arguments passed during task creation

Parameters
selfReference to the current remote task object
argsAn array of positional args to be passed to the function
kwargsA dictionary of keyword arguments to be passed to the function

◆ set_exec_method()

def ndcctools.taskvine.task.FunctionCall.set_exec_method (   self,
  remote_task_exec_method 
)

Specify how the remote task should execute.

Parameters
selfReference to the current remote task object
remote_task_exec_methodCan be either of "fork" or "direct". Fork creates a child process to execute the function and direct has the worker directly call the function.

◆ output()

def ndcctools.taskvine.task.FunctionCall.output (   self)

Retrieve output, handles cleanup, and returns result or failure reason.

Reimplemented from ndcctools.taskvine.task.PythonTask.


The documentation for this class was generated from the following file: