#[non_exhaustive]pub enum RustvelloError {
Show 17 variants
Retry {
reason: String,
},
ConcurrencyRetry {
task_id: TaskId,
reason: String,
},
Serialization {
message: String,
},
TaskNotFound {
task_id: TaskId,
},
TaskNotRegistered {
task_id: TaskId,
},
CycleDetected {
task_id: TaskId,
message: String,
},
RunnerNotExecutable {
task_id: TaskId,
message: String,
},
TaskClassNotFound {
task_id: TaskId,
},
InvocationNotFound {
invocation_id: InvocationId,
},
InvalidStatusTransition {
invocation_id: InvocationId,
from_status: InvocationStatus,
to_status: InvocationStatus,
allowed_statuses: Vec<InvocationStatus>,
},
OwnershipViolation {
invocation_id: InvocationId,
from_status: InvocationStatus,
to_status: InvocationStatus,
current_owner: String,
attempted_owner: String,
reason: String,
},
StatusRaceCondition {
invocation_id: InvocationId,
previous_status: InvocationStatus,
expected_status: InvocationStatus,
actual_status: InvocationStatus,
},
TaskExecution {
error_type: String,
message: String,
traceback: Option<String>,
},
Infrastructure {
kind: InfraErrorKind,
message: String,
source: Option<Box<dyn Error + Send + Sync>>,
},
Configuration {
message: String,
},
Internal {
message: String,
},
NotSupported {
backend: String,
method: String,
},
}Expand description
Root error type — mirrors pynenc’s exception hierarchy.
Each variant maps 1:1 to a pynenc exception class (see 302 §4).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Retry
Task explicitly requested a retry
ConcurrencyRetry
Concurrency control triggered a retry
Serialization
Serialization/deserialization error
TaskNotFound
Task definition not found in any registry
TaskNotRegistered
Task exists but is not registered in this app instance
CycleDetected
Dependency cycle detected in task graph
RunnerNotExecutable
Runner cannot execute this task type
TaskClassNotFound
Task class/type not found during deserialization
InvocationNotFound
Invocation not found
Fields
invocation_id: InvocationIdInvalidStatusTransition
Invalid status transition attempted
Fields
invocation_id: InvocationIdfrom_status: InvocationStatusto_status: InvocationStatusallowed_statuses: Vec<InvocationStatus>OwnershipViolation
Runner ownership violation during status transition
StatusRaceCondition
Status changed between read and write (optimistic locking failure)
Fields
invocation_id: InvocationIdprevious_status: InvocationStatusexpected_status: InvocationStatusactual_status: InvocationStatusTaskExecution
Task function raised an error during execution. Carries the original exception type name for retry matching.
Infrastructure
Unified infrastructure error with structured classification.
Configuration
Configuration error
Internal
Generic internal error
NotSupported
Backend does not support this operation.
Implementations§
Source§impl RustvelloError
impl RustvelloError
Sourcepub fn state_backend(message: impl Into<String>) -> Self
pub fn state_backend(message: impl Into<String>) -> Self
State backend query/storage error (not retriable).
Sourcepub fn broker_err(message: impl Into<String>) -> Self
pub fn broker_err(message: impl Into<String>) -> Self
Broker messaging error (not retriable).
Sourcepub fn runner_err(message: impl Into<String>) -> Self
pub fn runner_err(message: impl Into<String>) -> Self
Runner infrastructure error.
Sourcepub fn connection_err(message: impl Into<String>) -> Self
pub fn connection_err(message: impl Into<String>) -> Self
Connection failure (retriable).
Trait Implementations§
Source§impl Debug for RustvelloError
impl Debug for RustvelloError
Source§impl Display for RustvelloError
impl Display for RustvelloError
Source§impl Error for RustvelloError
impl Error for RustvelloError
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()