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(job_ids) Cancel a list of jobs with job_ids
status(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


cores_per_node Number of cores to provision per node.
label Provides the label for this provider
mem_per_node Real memory to provision per node in GB.