GenericWorkflowJob

class lsst.ctrl.bps.GenericWorkflowJob(name: str, label: str = 'UNK', quanta_counts: ~collections.Counter = <factory>, tags: dict = <factory>, executable: ~lsst.ctrl.bps.generic_workflow.GenericWorkflowExec | None = None, arguments: str | None = None, cmdvals: dict = <factory>, memory_multiplier: float | None = None, request_memory: int | None = None, request_memory_max: int | None = None, request_cpus: int | None = None, request_disk: int | None = None, request_walltime: str | None = None, compute_site: str | None = None, accounting_group: str | None = None, accounting_user: str | None = None, mail_to: str | None = None, when_to_mail: str | None = None, number_of_retries: int | None = None, retry_unless_exit: int | list[int] | None = None, abort_on_value: int | None = None, abort_return_value: int | None = None, priority: str | None = None, category: str | None = None, concurrency_limit: str | None = None, queue: str | None = None, pre_cmdline: str | None = None, post_cmdline: str | None = None, preemptible: bool | None = None, profile: dict = <factory>, attrs: dict = <factory>, environment: dict = <factory>, compute_cloud: str | None = None)

Bases: object

Information about a job that may be needed by various workflow management services.

Attributes Summary

abort_on_value

Job exit value for signals to abort the entire workflow.

abort_return_value

Exit value to use when aborting the entire workflow.

accounting_group

Name of the accounting group to use.

accounting_user

Name of the user to use for accounting purposes.

arguments

Command line arguments for job.

attrs

Key/value pairs of job attributes (for WMS that have attributes in addition to commands).

category

WMS-facing label of job within single workflow (e.g., can be used for throttling jobs within a single workflow).

cmdvals

Values for variables in cmdline when using lazy command line creation.

compute_cloud

Key to look up cloud-specific information for running the job.

compute_site

Key to look up site-specific information for running the job.

concurrency_limit

Names of concurrency limits that the WMS plugin can appropriately translate to limit the number of this job across all running workflows.

environment

Environment variable names and values to be explicitly set inside job.

executable

Executable for job.

label

Primary user-facing label for job.

mail_to

Comma separated list of email addresses for emailing job status.

memory_multiplier

Memory growth rate between retries.

name

Name of job.

number_of_retries

Number of times to automatically retry a failed job.

post_cmdline

Command line to be executed after job executes.

pre_cmdline

Command line to be executed prior to executing job.

preemptible

The flag indicating whether the job can be preempted.

priority

Initial priority of job in WMS-format.

profile

Nested dictionary of WMS-specific key/value pairs with primary key being WMS key (e.g., pegasus, condor, panda).

quanta_counts

Counts of quanta per task label in job.

queue

Name of queue to use.

request_cpus

Max number of cpus that the job is expected to need.

request_disk

Max amount of job scratch disk (in MB) that the job is expected to need.

request_memory

Max memory (in MB) that the job is expected to need.

request_memory_max

Max memory (in MB) that the job should ever use.

request_walltime

Max amount of time (in seconds) that the job is expected to need.

retry_unless_exit

Exit code(s) for job that means to not automatically retry.

tags

Other key/value pairs for job that user may want to use as a filter.

when_to_mail

WMS-specific terminology for when to email job status.

Attributes Documentation

abort_on_value: int | None

Job exit value for signals to abort the entire workflow.

abort_return_value: int | None

Exit value to use when aborting the entire workflow.

accounting_group: str | None

Name of the accounting group to use.

accounting_user: str | None

Name of the user to use for accounting purposes.

arguments: str | None

Command line arguments for job.

attrs: dict

Key/value pairs of job attributes (for WMS that have attributes in addition to commands).

category: str | None

WMS-facing label of job within single workflow (e.g., can be used for throttling jobs within a single workflow).

cmdvals: dict

Values for variables in cmdline when using lazy command line creation.

compute_cloud: str | None

Key to look up cloud-specific information for running the job.

compute_site: str | None

Key to look up site-specific information for running the job.

concurrency_limit: str | None

Names of concurrency limits that the WMS plugin can appropriately translate to limit the number of this job across all running workflows.

environment: dict

Environment variable names and values to be explicitly set inside job.

executable: GenericWorkflowExec | None

Executable for job.

label: str

Primary user-facing label for job. Does not need to be unique and may be used for summary reports.

mail_to: str | None

Comma separated list of email addresses for emailing job status.

memory_multiplier: float | None

Memory growth rate between retries.

name: str

Name of job. Must be unique within workflow.

number_of_retries: int | None

Number of times to automatically retry a failed job.

post_cmdline: str | None

Command line to be executed after job executes.

Should be executed regardless of exit status.

pre_cmdline: str | None

Command line to be executed prior to executing job.

preemptible: bool | None

The flag indicating whether the job can be preempted.

priority: str | None

Initial priority of job in WMS-format.

profile: dict

Nested dictionary of WMS-specific key/value pairs with primary key being WMS key (e.g., pegasus, condor, panda).

quanta_counts: Counter

Counts of quanta per task label in job.

queue: str | None

Name of queue to use. Different WMS can translate this concept differently.

request_cpus: int | None

Max number of cpus that the job is expected to need.

request_disk: int | None

Max amount of job scratch disk (in MB) that the job is expected to need.

request_memory: int | None

Max memory (in MB) that the job is expected to need.

request_memory_max: int | None

Max memory (in MB) that the job should ever use.

request_walltime: str | None

Max amount of time (in seconds) that the job is expected to need.

retry_unless_exit: int | list[int] | None

Exit code(s) for job that means to not automatically retry.

tags: dict

Other key/value pairs for job that user may want to use as a filter.

when_to_mail: str | None

WMS-specific terminology for when to email job status.