# parsl.config.Config

class parsl.config.Config(executors: Iterable[ParslExecutor] | None = None, app_cache: bool = True, checkpoint_files: Sequence[str] | None = None, checkpoint_mode: None | Literal['task_exit'] | Literal['periodic'] | Literal['dfk_exit'] | Literal['manual'] = None, checkpoint_period: str | None = None, garbage_collect: bool = True, internal_tasks_max_threads: int = 10, retries: int = 0, retry_handler: Callable[[Exception, TaskRecord], float] | None = None, run_dir: str = 'runinfo', strategy: str | None = 'simple', max_idletime: float = 120.0, monitoring: MonitoringHub | None = None, usage_tracking: bool = False, initialize_logging: bool = True)

  Specification of Parsl configuration options.

  Parameters:

    - executors (sequence of ParslExecutor, optional) – List (or other iterable) of `ParslExecutor` instances to use for executing tasks. Default is (`ThreadPoolExecutor()`,).

    - app_cache (bool, optional) – Enable app caching. Default is True.

    - checkpoint_files (sequence of str, optional) – List of paths to checkpoint files. See `parsl.utils.get_all_checkpoints()` and `parsl.utils.get_last_checkpoint()` for helpers. Default is None.

    - checkpoint_mode (str, optional) – Checkpoint mode to use, can be `'dfk_exit'`, `'task_exit'`, `'periodic'` or `'manual'`. If set to `None`, checkpointing will be disabled. Default is None.

    - checkpoint_period (str, optional) – Time interval (in “HH:MM:SS”) at which to checkpoint completed tasks. Only has an effect if `checkpoint_mode='periodic'`.

    - garbage_collect (bool. optional.) – Delete task records from DFK when tasks have completed. Default: True

    - internal_tasks_max_threads (int, optional) – Maximum number of threads to allocate for submit side internal tasks such as some data transfers or @joinapps Default is 10.

    - monitoring (MonitoringHub, optional) – The config to use for database monitoring. Default is None which does not log to a database.

    - retries (int, optional) – Set the number of retries (or available retry budget when using retry_handler) in case of failure. Default is 0.

    - retry_handler (function, optional) – A user pluggable handler to decide if/how a task retry should happen. If no handler is specified, then each task failure incurs a retry cost of 1.

    - run_dir (str, optional) – Path to run directory. Default is ‘runinfo’.

    - strategy (str, optional) – Strategy to use for scaling blocks according to workflow needs. Can be ‘simple’, ‘htex_auto_scale’, ‘none’ or `None`. If ‘none’ or `None`, dynamic scaling will be disabled. Default is ‘simple’. The literal value `None` is deprecated.

    - max_idletime (float, optional) – The maximum idle time allowed for an executor before strategy could shut down unused blocks. Default is 120.0 seconds.

    - usage_tracking (bool, optional) – Set this field to True to opt-in to Parsl’s usage tracking system. Parsl only collects minimal, non personally-identifiable, information used for reporting to our funding agencies. Default is False.

    - initialize_logging (bool, optional) – Make DFK optionally not initialize any logging. Log messages will still be passed into the python logging system under the `parsl` logger name, but the logging system will not by default perform any further log system configuration. Most noticeably, it will not create a parsl.log logfile. The use case for this is when parsl is used as a library in a bigger system which wants to configure logging in a way that makes sense for that bigger system as a whole.

  __init__(executors: Iterable[ParslExecutor] | None = None, app_cache: bool = True, checkpoint_files: Sequence[str] | None = None, checkpoint_mode: None | Literal['task_exit'] | Literal['periodic'] | Literal['dfk_exit'] | Literal['manual'] = None, checkpoint_period: str | None = None, garbage_collect: bool = True, internal_tasks_max_threads: int = 10, retries: int = 0, retry_handler: Callable[[Exception, TaskRecord], float] | None = None, run_dir: str = 'runinfo', strategy: str | None = 'simple', max_idletime: float = 120.0, monitoring: MonitoringHub | None = None, usage_tracking: bool = False, initialize_logging: bool = True) → None

  Methods

  `__init__`([executors, app_cache, ...]) |

  Attributes

  `executors` |

  property executors: Sequence[ParslExecutor]