-
Notifications
You must be signed in to change notification settings - Fork 0
ResourcePoolServiceAPI
All web method calls are POST unless specified.
Path: < stagename > /resourcepool/service/getAgenda
Internally the class is called a GetAgendaRequest.
Field | Purpose | Required | Notes |
---|---|---|---|
insightId | The id of the insight to retrieve Agendas for | Y | |
count | Indicator of the number of Agenda objects to retrieve | Y |
This method is used to retrieve one or more Agendas associated with the insightId specified. The getAgenda API is intended for use by a ResourcePool. A ResourcePool (puller in this case) calls getAgenda to get a list of viable agendas to process. For an agenda to be viable it must adhere to the requested insight. The getAgenda call will return agendas meeting the constraints for customers that are next in line. This should be pre-sorted so it's a quick "pull off bin" (de-queue).
-
getAgenda is called by puller
-
The ResourcePool+Insight are confirmed as valid for the user
-
The insight is mapped to a queue of objects containing an agendaId
-
The number of necessary agenda objects are returned
Each ResourcePool will have a resource pool access ID that is registered with POP. Customers are associated to a specific resource pool. We determine this via the customerID and insightID on the call.
@todo add documentation
When the Agenda is POST'd it is associated with a ResourcePool and Insight. The ResourcePool id will need to be persisted on the Progress related objects (for use with the updateAgendaProgress).
Path: < stagename > /resourcepool/service/updateAgendaProgress
An AgendaProgress object
- id
This method is used to update an AgendaProgress and any associated OperationProgress objects.
Before the progress related objects are updated the following are confirmed:
-
Grab the customerId
-
Get the AgendaProgress by ID
-
Get the ResoucePool from AgendaProgress.resourcePoolID
-
If the ResourcePool.customerID matches the allowedAccount list, then we OK the progress update. If not, we throw an authorize exception.
-
If the ResourcePool is global, we OK the progress update.
-
If the user is a service user or super user, we OK the progress update.
- Submission
- Scheduling
-
Execution
the ResourcePool
Agenda
the workflow
Agenda Template
the workflow definition
Customer
Insight
the scheduling queue definition
Operation Progress
the state of the running Agenda operations
Progress
the state of the running Agendas
ResourcePool
the processing resources
Agenda Service
the workflow submission
Progress Service
rolled up agenda progress summary
ResourcePool Service
getting work and updating progress
AgendaReclaimer
restarting stuck Agendas
AgendaRetry
retrying failed Agendas
DataObjectReaper
reaping expired data objects
PodReaper
reaping stuck Kubernetes pods