1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum BackyardError {
5 #[error("serialization error: {0}")]
6 Serialization(#[from] serde_json::Error),
7 #[error("backend error: {0}")]
8 Backend(String),
9 #[error("job not found: {0}")]
10 NotFound(String),
11 #[error("handler not registered for job type: {0}")]
12 UnknownJobType(String),
13 #[error("max retries exceeded")]
14 MaxRetriesExceeded,
15 #[error("shutdown signal received")]
16 Shutdown,
17 #[error("job execution error: {0}")]
18 Execution(String),
19}
20
21pub type Result<T, E = BackyardError> = std::result::Result<T, E>;