How your application consumes a received message¶
Preview
This feature is not subject to our service terms. Pre-GA features are available as is and might have limited support.
All job responses are delivered through Pub/Sub subscriptions to your application as described in Push vs Pull.
Your application consumes these job response messages as described in the Job Reference.
Your application actively pull job responses via pull subscription
The job response is described in the Job Reference and the full schema in JobV2
Tip
Your consumer should be tolerant and expect that not all fields are always present or populated.
Request not discarded¶
Check whether the Pub/Sub message has an attribute modigieJobDiscardReasonType
. If it does, the job request was discarded and no new job created.
There will be no further messages for your request. The reason for discarding the job request is identified in the attribute's value.
To analyze the root cause:
MissingJobIdError
: Your job request was not published with the Pub/Sub attributemodigieJobRequestId
.InvalidJobIdError
: Your job request was published with the Pub/Sub attributemodigieJobRequestId
, but the attribute did not have a valid string value.DuplicateJobIdError
: Your job request was published with the Pub/Sub attributemodigieJobRequestId
, but the ID was already used for a previous job request with a different payload.
Note
If your application publishes two distinct job request messages with the same modigieJobRequestId
value and an identical payload
, the system will not create a new job resource, and the duplicate request has no effect on the existing job. However, if the job has already terminated, your application will receive the final job response message again. This allows you to replay final job response messages.
If a job request was not discarded and a job resource was created:
- The job's
id
property will reflect the value that your application set as the attributemodigieJobRequestId
in the original job request message. - The job's
repository
property references the exclusive Pub/Sub repository of your application and your Modigie Org Account. - The job's
name
property will
Job status¶
Warning
Your application MUST digest the payload into the destination database only for a job that shows status = "completed"
!
Check the job's status
property to determine whether the job has already terminated.
The current status of the job represents its position in its life cycle. Note that your application should only digest information from a job into your database if the job's status = "completed"
. For more details, see Job states.
Note
Modigie charges only for jobs that reach the status completed
!
Job reason in job's reason
¶
If the job's status
is terminal but not "completed"
, the job's reason
property provides additional hints about why the job was not completed successfully. For more details, see Job failure reasons.