SyncErrors.transient?/1 only had explicit clauses for the {:http_error, ...}
shape, but vendor API clients return {:unexpected_status, status, body}. A 502
was retried only by accident via the catch-all, and a 4xx in that shape would
have been retried 20 times. Add explicit {:unexpected_status, ...} clauses: 5xx
is transient (Oban backs off and retries), 4xx is permanent.
|
||
|---|---|---|
| .. | ||
| assets | ||
| integration | ||
| mix/tasks | ||
| snmpkit | ||
| support | ||
| towerops | ||
| towerops_web | ||
| test_helper.exs | ||
| towerops_native_test.exs | ||