An asynchronous job times out and is retried.
Prevent duplicate side effects.
Choose two designs.
Use job IDs or input hashes to deduplicate, check state before side effects, and use capped exponential backoff and a dead-letter path.
Detailed explanation
Retries converge to one result.
Retries converge to one result.
Infinite work and duplicates are limited.
Infinite work and duplicates are limited.
Load and side effects grow.
Load and side effects grow.
State is unknown.
State is unknown.
Try it yourself
An example you can run in a temporary verification environment.
AWS公式AIF-C01 Domain 1.3・3.3の非同期処理、再試行、冪等性を確認する。Expected result
タイムアウト時も二重の推論・登録を発生させず、安全に再試行できる。Key points
- Idempotency
- Backoff
- Dead letter
Notes
- Environment: AWS公式AIF-C01試験ガイドとAWS公式ドキュメントの確認
- Command output formatting can vary slightly by distribution or tool version.
- Run the example in a temporary directory or process when possible.
Foundation review
Read the scope first
Check whether the command acts on the current shell, a new process, an existing process, or a file.
Verify the observable result
Use the supplied command and compare the output with the expected result.