Skip to main content

Asynchronous Base Executor Class

class covalent.executor.base.AsyncBaseExecutor

#

Async base executor class to be used for defining any executor plugin.Subclassing this class will allow you to define your own executor plugin which can be used in covalent.

This is analogous to BaseExecutor except the run() method, together with the optional setup() and teardown() methods, are coroutines.

log_stdout

The path to the file to be used for redirecting stdout.

log_stderr

The path to the file to be used for redirecting stderr.

cache_dir

The location used for cached files in the executor.

time_limit

Time limit for the task.

retries

Number of times to retry execution upon failure.

Methods

cancel(task_metadata, job_handle)

Executor specific task cancelation method

from_dict (object_dict)

Rehydrate a dictionary representation

Get if the task was requested to be canceled

get_dispatch_context(dispatch_info)

Start a context manager that will be used to access the dispatch info for the executor.

run(function, args, kwargs, task_metadata)

Abstract method to run a function in the executor.

Save the job handle to database

setup(task_metadata)

Executor specific setup method

teardown(task_metadata)

Executor specific teardown method

Return a JSON-serializable dictionary representation of self

write_streams_to_file(stream_strings, …)

Write the contents of stdout and stderr to respective files.

async cancel

#

Executor-specific task cancellation method.

Arg(s)

task_metadata

Metadata of the task to be canceled

job_handle

Unique ID of the job assigned by the backend

Return(s)

False by default

Return Type

Literal[False]

from_dict

#

Rehydrate a dictionary representation.

Parameters

object_dict (dict) – a dictionary representation returned by to_dict

Return Type

BaseExecutor

Returns

self

Instance attributes will be overwritten.

async get_cancel_requested

#

Get if the task was requested to be canceled.

Arg(s)

None

Return(s)

Whether the task has been requested to be canceled.

Return Type

Any

get_dispatch_context

#

Start a context manager that will be used to access the dispatch info for the executor.

Parameters

Return Type

AbstractContextManager[DispatchInfo]

Returns

A context manager object that handles the dispatch info.

abstract run

#

Abstract method to run a function in the executor.

Parameters

function (Callable) – The function to run in the executor.

args (List) – List of positional arguments to be used by the function.

kwargs (Dict) – Dictionary of keyword arguments to be used by the function.

task_metadata (Dict) – Dictionary of metadata for the task. Current keys are dispatch_id and node_id.

Returns

A context manager object that handles the dispatch info.

Return Type

output

async set_job_handle

#

Save the job_id/handle returned by the backend executing the task.

Arg(s)

handle

Any JSONable type to identify the task being executed by the backend.

Return(s)

Response from saving the job handle to the database.

Return Type

Any

async setup

#

Executor specific setup method

async teardown

#

Executor specific teardown method

to_dict

#

Return a JSON-serializable dictionary representation of self.

Return Type

dict

async write_streams_to_file

#

Write the contents of stdout and stderr to respective files.

Parameters

stream_strings (Iterable[str]) – The stream_strings to be written to files.

filepaths (Iterable[str]) – The filepaths to be used for writing the streams.

dispatch_id (str) – The ID of the dispatch which initiated the request.

results_dir (str) – The location of the results directory.

Return Type

None