pub enum StoreError {
Duplicate {
existing_id: String,
replaced: bool,
},
IdConflict {
job_id: String,
},
Quarantined {
fingerprint: String,
},
Backpressure {
queue: String,
limit: u64,
current: u64,
incoming: u64,
},
LeaseRejected {
job_id: String,
},
Unavailable(String),
NotFound(String),
Invalid(String),
Backend(String),
}Variants§
Duplicate
job uniqueness duplicate unique key. Carries the winner so the caller can join rather than guess. A normal result, not an exception — and never a silent skip.
Fields
IdConflict
idempotent enqueue identity a caller-supplied Envelope.id that already names a row whose CONTENT
differs. Distinct from Duplicate: that one is best-effort uniqueness over a
key the caller chose to opt into, this one is the strict per-id guarantee asynq
separates as TaskID(id) + ErrTaskIDConflict. Its own variant because the two
carry different information (the winner’s id vs. the id you asked for, which are
the same string here) and map to different API bodies; folding it into
Invalid — where it lived before — surfaced a 409 condition as a 400.
Quarantined
crash quarantine enqueue of a quarantined fingerprint is rejected until an operator releases.
Backpressure
Producer-side admission control. The store evaluated this against its exact, incrementally-maintained unfinished count while serializing producers for the queue; callers may retry after capacity is released, route elsewhere, or shed.
LeaseRejected
lease fencing the caller no longer holds this lease (reclaimed, or superseded by a newer fence). The worker must stop this job immediately.
typed availability errors the store is unreachable. Typed apart from validation so callers can choose between failing the request, degrading, or buffering themselves.
NotFound(String)
The addressed job/resource does not exist.
Invalid(String)
A request rejected at the boundary — e.g. a duration that rounds to zero (boundary validation).
Backend(String)
Trait Implementations§
Source§impl Debug for StoreError
impl Debug for StoreError
Source§impl Display for StoreError
impl Display for StoreError
Source§impl Error for StoreError
impl Error for StoreError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()