10.2.4. DIRAC jobs: definitions
Some definitions for DIRAC jobs:
payload or workflow: the executed code. A payload describes how to run one or more application step.
payload executor: a script that runs the payload (e.g. dirac-jobexec)
JDL: a container of payload requirements
DIRAC job: a JDL to which it is assigned a unique identifier inside the DIRAC WMS
JobWrapper: a software module for running a DIRACJob in a controlled way
multi-processor payload [job]: a payload application that will try to use multiple cores on the same node
computing slot: resource allocated by a provider where a pilot wrapper is running (batch job)
multi-processor [computing] slot: allocated resource has more than one OS CPU core available in the same slot as opposed to a single-processor [computing] slot
Applications properties are reflected in payload properties.
The DIRAC APIs can be used to create and submit jobs.
Specifically, objects of type Job
represents a job. The API class Dirac
and more specifically the call to submitJob()
submits jobs to the DIRAC WMS.
The job status of a successful job proceeds in the following order:
Submitting (only for parametric jobs),
Received,
Checking,
Waiting,
Matched,
Running,
Completing,
Completed,
Done.
Jobs which return no heartbeat have a status of Stalled and jobs where any workflow modules return an error status are classed as Failed.
The basic flowchart describing the evolution of a job’s status follows