Skip to content

Life cycle of a job

Preview

This feature is not subject to our service terms. Pre-GA features are available as is and might have limited support.

State machine of jobs

State machine of jobs

Unless your job request is discarded, a job resource materializes in our system, and the status property indicates where the job currently is in its life cycle.

status is a read-only property.

Intermediate states

The following are the intermediate states that a job will transition through during its life cycle:

"created"
This is the initial status of a job if your request is accepted and modigieJobRequestId is a unique ID that was not used before. If the modigieJobRequestId value is missing, invalid, or has been used earlier with a different payload, the job request will be discarded before entering our system.
"validated"
The job passed the advanced request validation.
"enqueued"
The job waits in the pipeline for processing. The time it waits in the queue depends on many factors, including the available quota for your application and the current utilization of the real-time engine.
"dispatching"
This job is due to be processed immediately.
"processing"
The processing of the job has started in the real-time engine.

Terminal states

The following are the terminal states that a job will transition into at the end of its life cycle:

"rejected"
The job cannot be processed because it failed the request validation. Details can be found in the job's reason property. Your application SHOULD NOT retry the request without modifying the payload and using a new modigieJobRequestId!
"canceled"
The job has been canceled. Details can be found in the job's reason property. Your application CAN safely retry the payload with a new modigieJobRequestId.
"failed"
The job failed during processing. Details can be found in the job's reason property. Typically, this occurs due to temporary technical reasons. Your application CAN safely retry the payload with a new modigieJobRequestId.
"completed"
The job completed successfully in the real-time engine, and your application can safely process the information received with the job message. Your application should interpret the event codes in the job's events field.

Note

Modigie charges only for jobs that reach the completed status!

Example

Note

status is a read-only property.

The following is an example of a job that is waiting for processing.

job-response.json
{
  "status": "enqueued",
  ...
}