parsl.executors.base.ParslExecutor¶
-
class
parsl.executors.base.ParslExecutor[source]¶ Executors are abstractions that represent available compute resources to which you could submit arbitrary App tasks.
This is a metaclass that only enforces concrete implementations of functionality by the child classes.
In addition to the listed methods, a ParslExecutor instance must always have a member field:
- label: str - a human readable label for the executor, unique
with respect to other executors.
An executor may optionally expose:
- storage_access: List[parsl.data_provider.staging.Staging] - a list of staging
providers that will be used for file staging. In the absence of this attribute, or if this attribute is
None, then a default value ofparsl.data_provider.staging.default_stagingwill be used by the staging code.Typechecker note: Ideally storage_access would be declared on executor __init__ methods as List[Staging] - however, lists are by default invariant, not co-variant, and it looks like @typeguard cannot be persuaded otherwise. So if you’re implementing an executor and want to @typeguard the constructor, you’ll have to use List[Any] here.
Methods
__init__()Initialize self.
create_monitoring_info(status)Create a monitoring message for each block based on the poll status.
handle_errors(error_handler, status)This method is called by the error management infrastructure after a status poll.
monitor_resources()Should resource monitoring happen for tasks on running on this executor?
scale_in(blocks)Scale in method.
scale_out(blocks)Scale out method.
set_bad_state_and_fail_all(exception)Allows external error handlers to mark this executor as irrecoverably bad and cause all tasks submitted to it now and in the future to fail.
shutdown()Shutdown the executor.
start()Start the executor.
status()Return the status of all jobs/blocks currently known to this executor.
submit(func, resource_specification, *args, …)Submit.
Attributes
bad_state_is_setReturns true if this executor is in an irrecoverable error state.
error_management_enabledIndicates whether worker error management is supported by this executor.
executor_exceptionReturns an exception that indicates why this executor is in an irrecoverable state.
hub_addressAddress to the Hub for monitoring.
hub_portPort to the Hub for monitoring.
run_dirPath to the run directory.
scaling_enabledSpecify if scaling is enabled.
status_polling_intervalReturns the interval, in seconds, at which the status method should be called.
tasksContains a dictionary mapping task IDs to the corresponding Future objects for all tasks that have been submitted to this executor.