cctools
ndcctools.taskvine.task.FunctionCall Class Reference

TaskVine FunctionCall object. More...

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

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

Additional Inherited Members

- Protected Member Functions inherited from ndcctools.taskvine.task.Task
 _compute_library_name (self, library)
 Compute the name of a given library.
 

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__()

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

Create a new FunctionCall specification.

Parameters
selfReference to the current FunctionCall object.
libraryThe library, or 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.

Reimplemented from ndcctools.taskvine.task.PythonTask.

Reimplemented in ndcctools.taskvine.dask_executor.FunctionCallDask, and ndcctools.taskvine.futures.FutureFunctionCall.

Member Function Documentation

◆ submit_finalize()

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()

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()

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()

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

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

Reimplemented from ndcctools.taskvine.task.PythonTask.

Reimplemented in ndcctools.taskvine.futures.FutureFunctionCall.


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