ParslJob¶
- class lsst.ctrl.bps.parsl.ParslJob(generic: GenericWorkflowJob, config: BpsConfig, file_paths: dict[str, str])¶
Bases:
object
Job to execute with parsl.
- Parameters:
Methods Summary
evaluate_command_line
(command)Evaluate the bash command-line.
get_command_line
([allow_stage])Get the bash command-line to run to execute this job.
get_future
(app, inputs[, command_prefix, ...])Get the parsl app future for the job.
Return what resources are required for executing this job.
Run the command locally.
Methods Documentation
- evaluate_command_line(command: str) str ¶
Evaluate the bash command-line.
BPS provides a command-line with symbolic names for BPS variables, environment variables and files. Here, we replace those symbolic names with the actual values, to provide a concrete command that can be executed.
In replacing file paths, we are implicitly assuming that we are working on a shared file system, i.e., that workers can see the butler directory, and that files do not need to be staged to the worker.
- get_future(app: BashApp, inputs: list[concurrent.futures._base.Future], command_prefix: str | None = None, add_resources: bool = False) Future | None ¶
Get the parsl app future for the job.
This effectively queues the job for execution by a worker, subject to dependencies.
- Parameters:
- appcallable
A parsl bash_app decorator to use.
- inputslist of
Future
Dependencies to be satisfied before executing this job.
- command_prefix
str
, optional Bash commands to execute before the job command, e.g., for setting the environment.
- add_resources
bool
Add resource specification when submitting the job? This is only appropriate for the
WorkQueue
executor; other executors will raise an exception.
- Returns:
- run_local()¶
Run the command locally.
This is intended to support jobs that should not be done by a worker.