@@ -7,19 +7,37 @@ description: PDM Poller
77### Questions
88
991 . What poll interval and duration is needed for the PDM Poller?
10- 2 . Can the polling be managed within the lambda?
10+
11+ ### Decisions
12+
13+ 1 . Use of an SQS Delay Queue to manage polling intervals
14+ 2 . ` PDMResourceUnavailable ` event to contain retry count
15+ 3 . PollPDM lambda to determine when max retries exceeded and emit a ` PDMResourceRetriesExceeded ` event
1116
1217``` mermaid
1318architecture-beta
14- service eventBus(aws:res-amazon-eventbridge-event)[SavedToPDM Event]
15- service pdmReady(aws:res-amazon-eventbridge-event)[PDMDocumentReadyEvent]
19+ service pdmResourceSubmitted(aws:res-amazon-eventbridge-event)[PDMResourceSubmitted Event]
20+ service pdmResourceAvailable(aws:res-amazon-eventbridge-event)[PDMResourceAvailable Event]
21+ service pdmResourceUnavailable2(aws:res-amazon-eventbridge-event)[PDMResourceAvailable Event]
22+ service pdmRetriesExceeded(aws:res-amazon-eventbridge-event)[PDMResourceRetriesExceeded Event]
23+ service pdmResourceUnavailable(aws:res-amazon-eventbridge-event)[PDMResourceUnavailable Event]
1624 group checkPdm(cloud)[PDMPoller]
17- service pollPdmQueue(logos:aws-sqs)[PollPDM Queue] in checkPdm
25+ service pollPdmQueue(logos:aws-sqs)[PollPDM SQS Delay Queue] in checkPdm
1826 service pollPdmLambda(logos:aws-lambda)[PollPDM] in checkPdm
1927 service pdm(server)[PDM]
28+ junction j1
29+ junction j2
30+ junction j3
2031
21- eventBus:R -- L:pollPdmQueue
32+ pdmResourceSubmitted:B -- T:j3
33+ pdmResourceUnavailable:T -- B:j3
34+ j3:R --> L:pollPdmQueue
2235 pollPdmQueue:R --> L:pollPdmLambda
23- pollPdmLambda:B --> L:pdmReady
2436 pollPdmLambda:R <--> L:pdm
37+ pollPdmLambda:B -- T:j1
38+ j1:R --> L:pdmResourceUnavailable2
39+ j1:B -- T:j2
40+ j2:R --> L:pdmResourceAvailable
41+ j2:B --> L:pdmRetriesExceeded
42+
2543```
0 commit comments