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.
shutdown([block]) Shutdown the ThreadPool.
start() Start the executor.
submit(*args, **kwargs) Submits work to the thread pool.

Attributes

hub_address Address to the Hub for monitoring.
hub_port Port to the Hub for monitoring.
run_dir Path to the run directory.
scaling_enabled Specify if scaling is enabled.