parsl.executors.ThreadPoolExecutor¶
-
class
parsl.executors.ThreadPoolExecutor(label: str = 'threads', max_threads: int = 2, thread_name_prefix: str = '', storage_access: List[Any] = None, working_dir: Optional[str] = None, managed: bool = True)[source]¶ A thread-based executor.
- Parameters
max_threads (int) – Number of threads. Default is 2.
thread_name_prefix (string) – Thread name prefix (only supported in python v3.6+).
storage_access (list of
Staging) – Specifications for accessing data this executor remotely.managed (bool) – If True, parsl will control dynamic scaling of this executor, and be responsible. Otherwise, this is managed by the user.
-
__init__(label: str = 'threads', max_threads: int = 2, thread_name_prefix: str = '', storage_access: List[Any] = None, working_dir: Optional[str] = None, managed: bool = True)[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__([label, max_threads, …])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()Resource monitoring sometimes deadlocks when using threads, so this function returns false to disable it.
scale_in(blocks)Scale in the number of active blocks by specified amount.
scale_out([workers])Scales out the number of active workers by 1.
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([block])Shutdown the ThreadPool.
start()Start the executor.
status()Return the status of all jobs/blocks currently known to this executor.
submit(func, resource_specification, *args, …)Submits work to the thread pool.
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.
providerrun_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.