Measure job recovery by customer plan
Which failed jobs recovered on retry, and which accounts still need intervention?
Collapse attempt-level worker events into one logical job before comparing recovery and unresolved failures by plan.
Published expected result
Unresolved logical jobs by plan
| plan | logical_jobs | jobs_with_failure | recovered_jobs | unresolved_jobs |
|---|---|---|---|---|
| starter | 2 | 2 | 0 | 2 |
| growth | 2 | 1 | 1 | 0 |
| business | 1 | 0 | 0 | 0 |
| free | 1 | 0 | 0 | 0 |
How to read the query
- Attempts are grouped by logical job identifier before failure and recovery are counted.
- A job may have both a failed attempt and a completed retry, which is recovery rather than permanent failure.
- Joining after the reduction prevents a retried job from multiplying account-level counts.
Decisions the SQL cannot make
- 1Define terminal job statuses and the maximum expected retry delay.
- 2Distinguish automatic retry recovery from manual replay.
- 3Alert on unresolved work and age, not every transient failed attempt.