Max backoff / Next Poll interval / Next Step (see table below)
None: no downstream polling will happen
Time: add time period to now to calculate “Check Due Time” (not called that in code) when the next check should happen
Polling interval : (configured at an environment level in dcb-service config):
indicates how often to trigger a polling cycle generally, and then within each cycle, only check those items with states that have passed a Check Due Time
Force check update: check now regardless of Check Due Time
DCB STATE | Max backoff / Next Poll interval / Next Step
| Max backoff / Next Poll interval / Next Step
| What tracking for next step in 2l process | What tracking for next step in 3l process |
---|---|---|---|---|
SUBMITTED_TO_DCB | None | None | Auto Triggers ValidatePatronTransition Moves us to PATRON_VERIFIED | |
PATRON_VERIFIED | None | None | Auto Triggers PatronRequestResolutionStateTransition Moves us to RESOLVED | |
RESOLVED | None | None | Auto Triggers PlacePatronRequestAtSupplyingAgencyStateTransition Moves us to REQUEST_PLACED_AT_SUPPLYING_AGENCY | |
NOT_SUPPLIED_CURRENT_SUPPLIER | NA | NA | Re-Request Scenario | |
NO_ITEMS_AVAILABLE_AT_ANY_AGENCY | None | None | TERMINAL STATE (For now) | |
REQUEST_PLACED_AT_SUPPLYING_AGENCY | 10ms | 10ms
| wait for SupplierRequest= CONFIRMED | TRANSIT → HandleSupplierRequestConfirmed Moves us into the CONFIRMED state | |
CONFIRMED | 10m | 10m | Auto Triggers PlacePatronRequestAtBorrowingAgencyStateTransition Moves us to REQUEST_PLACED_AT_BORROWING_AGENCY | |
REQUEST_PLACED_AT_BORROWING_AGENCY | 10m | 1h | wait for SupplyingItem State = TRANSIT -> HandleSupplierInTransit Moves us to PICKUP_TRANSIT | |
PICKUP_TRANSIT | 10m | 1h | wait for BorrowingItem = RECEIVED | LOANED | ON_HOLD_SHELF Then HandleBorrowerItemReceived moves us to RECEIVED_AT_PICKUP | |
RECEIVED_AT_PICKUP | 10m | 1h | wait for BorrowingItem = ON_HOLD_SHELF | LOANED Then HandleBorrowerItemOnHoldShelf moves us to READY_FOR_PICKUP | |
READY_FOR_PICKUP | 10m | 1h | wait for BorrowingItem = LOANED Then HandleBorrowerItemLoaned moves us to LOANED | |
LOANED | 10m | 6h | wait for BorrowingItem = AVAILABLE | TRANSIT OR SupplierItem=AVAILABLE | SupplierRequest=CLOSED Then HandleBorrowerRequestReturnTransit moves us to RETURN_TRANSIT N.b. CLOSED==FOLIO Specific N.b. Additional check needed here - item loaned other | |
RETURN_TRANSIT | 10m | 1h | SupplierItem = AVAILABLE | SupplierRequest=CLOSED Then HandleSupplierItemAvailable moves us to COMPLETED N.b. CLOSED==FOLIO Specific N.b. Additional check needed here - item loaned other | |
NOT_SUPPLIED_CURRENT_SUPPLIER | None | None | Auto Triggers: ResolveNextSupplierTransition Moves us to NO_ITEMS_AVAILABLE_AT_ANY_AGENCY | |
CANCELLED | None | None | Auto Triggers: FinaliseRequestTransition moves us to FINALISED | |
COMPLETED | None | None | Auto Triggers: FinaliseRequestTransition moves us to FINALISED | |
FINALISED | None | None | TERMINAL STATE | TERMINAL STATE |
ERROR | None | None | TERMINAL STATE | TERMINAL STATE |
Changes
Reduced from 60s to 10ms rather than as 0s appears to be treated as effectively terminating.
DCB-1289 Generalise transition to FINALISE and apply to CANCELLED to extend cleanup