class parsl.providers.AdHocProvider(channels=[], worker_init='', cmd_timeout=30, parallelism=1, move_files=None)[source]

Ad-hoc execution provider

This provider is used to provision execution resources over one or more ad hoc nodes that are each accessible over a Channel (say, ssh) but otherwise lack a cluster scheduler.

  • channels (list of Channel ojects) – Each channel represents a connection to a remote node

  • worker_init (str) – Command to be run before starting a worker, such as ‘module load Anaconda; source activate env’. Since this provider calls the same worker_init across all nodes in the ad-hoc cluster, it is recommended that a single script is made available across nodes such as ~/ that can be invoked.

  • cmd_timeout (int) – Duration for which the provider will wait for a command to be invoked on a remote system. Defaults to 30s

  • parallelism (float) – Determines the ratio of workers to tasks as managed by the strategy component

__init__(channels=[], worker_init='', cmd_timeout=30, parallelism=1, move_files=None)[source]

Initialize self. See help(type(self)) for accurate signature.


__init__([channels, worker_init, …])

Initialize self.


Cancel a list of jobs with job_ids


Get status of the list of jobs with job_ids

submit(command, tasks_per_node[, job_name])

Submits the command onto a channel from the list of channels



Number of cores to provision per node.


Provides the label for this provider


Real memory to provision per node in GB.



Returns the interval, in seconds, at which the status method should be called.