ParslService¶
- class lsst.ctrl.bps.parsl.ParslService(config)¶
Bases:
BaseWmsService
Parsl-based implementation for the WMS interface.
Methods Summary
cancel
(wms_id[, pass_thru])Cancel submitted workflows/jobs.
list_submitted_jobs
([wms_id, user, ...])Query WMS for list of submitted WMS workflows/jobs.
ping
(pass_thru)Check whether WMS services are up, reachable, and can authenticate if authentication is required.
prepare
(config, generic_workflow[, out_prefix])Convert a generic workflow to a Parsl pipeline.
report
([wms_workflow_id, user, hist, ...])Query WMS for status of submitted WMS workflows.
restart
(out_prefix)Restart a workflow from the point of failure.
Check to run at start if running WMS specific submission steps.
submit
(workflow, **kwargs)Submit a single WMS workflow.
Methods Documentation
- cancel(wms_id, pass_thru=None)¶
Cancel submitted workflows/jobs.
- Parameters:
- Returns:
- list_submitted_jobs(wms_id=None, user=None, require_bps=True, pass_thru=None, is_global=False)¶
Query WMS for list of submitted WMS workflows/jobs.
This should be a quick lookup function to create list of jobs for other functions.
- Parameters:
- wms_id
int
orstr
, optional Id or path that can be used by WMS service to look up job.
- user
str
, optional User whose submitted jobs should be listed.
- require_bps
bool
, optional Whether to require jobs returned in list to be bps-submitted jobs.
- pass_thru
str
, optional Information to pass through to WMS.
- is_global
bool
, optional If set, all available job queues will be queried for job information. Defaults to False which means that only a local job queue will be queried for information.
Only applicable in the context of a WMS using distributed job queues (e.g., HTCondor). A WMS with a centralized job queue (e.g. PanDA) can safely ignore it.
- wms_id
- Returns:
- job_ids
list
[Any
] Only job ids to be used by cancel and other functions. Typically this means top-level jobs (i.e., not children jobs).
- job_ids
- ping(pass_thru)¶
Check whether WMS services are up, reachable, and can authenticate if authentication is required.
The services to be checked are those needed for submit, report, cancel, restart, but ping cannot guarantee whether jobs would actually run successfully.
- prepare(config: BpsConfig, generic_workflow: GenericWorkflow, out_prefix: str | None = None) BaseWmsWorkflow ¶
Convert a generic workflow to a Parsl pipeline.
- Parameters:
- config
lsst.ctrl.bps.BpsConfig
Configuration of the workflow.
- generic_workflow
lsst.ctrl.bps.generic_workflow.GenericWorkflow
Generic representation of a single workflow.
- out_prefix
str
orNone
Prefix for WMS output files.
- config
- Returns:
- workflow
ParslWorkflow
Workflow that will execute the jobs.
- workflow
- report(wms_workflow_id=None, user=None, hist=0, pass_thru=None, is_global=False, return_exit_codes=False)¶
Query WMS for status of submitted WMS workflows.
- Parameters:
- wms_workflow_id
int
orstr
, optional Id that can be used by WMS service to look up status.
- user
str
, optional Limit report to submissions by this particular user.
- hist
int
, optional Number of days to expand report to include finished WMS workflows.
- pass_thru
str
, optional Additional arguments to pass through to the specific WMS service.
- is_global
bool
, optional If set, all available job queues will be queried for job information. Defaults to False which means that only a local job queue will be queried for information.
Only applicable in the context of a WMS using distributed job queues (e.g., HTCondor). A WMS with a centralized job queue (e.g. PanDA) can safely ignore it.
- return_exit_codes
bool
, optional If set, return exit codes related to jobs with a non-success status. Defaults to False, which means that only the summary state is returned.
Only applicable in the context of a WMS with associated handlers to return exit codes from jobs.
- wms_workflow_id
- Returns:
- run_reports
list
[lsst.ctrl.bps.WmsRunReport
] Status information for submitted WMS workflows.
- message
str
Message to user on how to find more status information specific to this particular WMS.
- run_reports
- restart(out_prefix: str) tuple[str, str, str] ¶
Restart a workflow from the point of failure.
- Parameters:
- out_prefix
str
Id for workflow to be restarted. For this service, it is the prefix for WMS files, also known as the
submitPath
.
- out_prefix
- Returns:
- run_submission_checks()¶
Check to run at start if running WMS specific submission steps.
Any exception other than NotImplementedError will halt submission. Submit directory may not yet exist when this is called.
- submit(workflow: BaseWmsWorkflow, **kwargs: Any)¶
Submit a single WMS workflow.
- Parameters:
- workflow
lsst.ctrl.bps.BaseWmsWorkflow
Prepared WMS Workflow to submit for execution.
- **kwargs
Any
Additional modifiers to the configuration.
- workflow