pub enum QueueServiceReason {
NoQueueDeclaration,
NoLivePollers,
PollersIncompatible,
Saturated,
}Expand description
Why a (namespace, task_queue, activity_type) address is not being served.
The names are R1’s, verbatim, and are the strings that reach logs, dispatch failures, and the queue-service accessor.
Variants§
NoQueueDeclaration
No deployed .v4 contract declares this task queue at all. Structural:
no worker can ever legitimately arrive for it, so it refuses
unconditionally under every policy.
NoLivePollers
The queue is declared (or its declaration is unknowable) and no worker is connected for the pool at all.
PollersIncompatible
Workers are connected for the pool but none of them covers this activity type, or none of them sits on the dispatch’s pinned node.
Saturated
A compatible worker is connected and its intake is refusing work: the task could not be handed over before the schedule-to-start clock expired.
Implementations§
Source§impl QueueServiceReason
impl QueueServiceReason
Sourcepub const fn is_structural(self) -> bool
pub const fn is_structural(self) -> bool
Whether the unservability is structural — provable from the deployed contract records alone, unchangeable by waiting or retrying.
Sourcepub fn explain(self, address: &ServiceAddress) -> String
pub fn explain(self, address: &ServiceAddress) -> String
The operator-facing sentence for this reason at address: what has to
be fixed, in words.
This is the single source of that sentence. The dispatch refusal’s human
tail (WorkerUnavailable::explain) and the describe projection’s
detail both read it here, so a queue that is unserved cannot be
explained one way in a refusal and another way in a read.
Trait Implementations§
Source§impl Clone for QueueServiceReason
impl Clone for QueueServiceReason
Source§fn clone(&self) -> QueueServiceReason
fn clone(&self) -> QueueServiceReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for QueueServiceReason
Source§impl Debug for QueueServiceReason
impl Debug for QueueServiceReason
Source§impl Display for QueueServiceReason
impl Display for QueueServiceReason
impl Eq for QueueServiceReason
Source§impl Hash for QueueServiceReason
impl Hash for QueueServiceReason
Source§impl Ord for QueueServiceReason
impl Ord for QueueServiceReason
Source§fn cmp(&self, other: &QueueServiceReason) -> Ordering
fn cmp(&self, other: &QueueServiceReason) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for QueueServiceReason
impl PartialEq for QueueServiceReason
Source§impl PartialOrd for QueueServiceReason
impl PartialOrd for QueueServiceReason
impl StructuralPartialEq for QueueServiceReason
Auto Trait Implementations§
impl Freeze for QueueServiceReason
impl RefUnwindSafe for QueueServiceReason
impl Send for QueueServiceReason
impl Sync for QueueServiceReason
impl Unpin for QueueServiceReason
impl UnsafeUnpin for QueueServiceReason
impl UnwindSafe for QueueServiceReason
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request