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.
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(*args, **kwargs) Submits work to the thread pool.

Attributes

bad_state_is_set Returns true if this executor is in an irrecoverable error state.
executor_exception Returns an exception that indicates why this executor is in an irrecoverable state.
hub_address Address to the Hub for monitoring.
hub_port Port to the Hub for monitoring.
provider
run_dir Path to the run directory.
scaling_enabled Specify if scaling is enabled.
tasks Contains a dictionary mapping task IDs to the corresponding Future objects for all tasks that have been submitted to this executor.