Asynchronous Call from Orchestrator to AOPD
The communication between Orchestrator and AOPD is asynchronous.
The following asynchronous APIs are introduced in AOPD:
/v1/plan/async
to generate plans/v1/plan/amend/async
to amend plans
Orchestrator calls AOPD through these APIs to generate or amend plans. In the response, AOPD acknowledges that it has received the plan generation request. Then AOPD generates the plans and submits the plans to the Orchestrator in the
submitOrderExecutionPlan
API.
Retry Mechanism
The plan publication is backed up by a retry mechanism. This retry can be controlled by the following newly introduced properties:
planSubmissionRetryCount
(Default = 5)planSubmissionRetryDuration
(Default = 5 seconds)
For example, you have the default values and plan generation fails, AOPD retries up to 5 times in 5-second intervals to submit the plan to Orchestrator.
BadRequest
and
Unauthorized
errors.
Troubleshooting:
When the plan generation fails even after maximum retry attempts, perform the following steps to generate or amend plans.
- Call
getOrderDetails
API from Orchestrator to get the order request details. - Call
v1/generatePlan
orv1/plan/amend
APIs from AOPD to generate or amend plans. - Submit the generated plan to Orchestrator using the
submitOrderExecutionPlan
API.
The call between Orchestrator and AOPD is asynchronous, hence the updated order flow is as follows:
PENDING > FEASIBILITY > OPD > EXECUTION > COMPLETE