10.2.6. 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:
Received,
Checking,
Staging,
Waiting,
Matched,
Running,
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 can be found in the following flowchart.