def apply_fail2

cswap-bend-cli@0.1.0.0 · urec.bend:52

import cswap-bend-cli@0.1.0.0/urec.bend as Urec
import Base
import cswap-bend-cli@0.1.0.0/pollrow.bend as Pollrow
import cswap-bend-cli@0.1.0.0/json.bend as Json
import cswap-bend-cli@0.1.0.0/ustore.bend as Ustore

52def apply_fail2(+row: Json.Json, +error: String, retry: Maybe<&2, U32>, struck: Json.Json, +failures: U32, +strikes: U32, +now: U32) -> Json.Json:
53  with_strike(is_permanent(error), strikes, struck,
54    Json.set("backoffUntil", Ustore.fl((now + Pollrow.failure_backoff(failures, retry, String.eq(error, "http-429")) : U32)),
55      with_429(String.eq(error, "http-429"), now,
56        Json.set("lastError", Ustore.jstr(error), Json.set("consecutiveFailures", Json.JNum{U32.show(failures)},
57          Json.set("lastAttemptAt", Ustore.fl(now), release(row)))))))

Uses (15)

Used by (1)