29 lines
888 B
Rust
29 lines
888 B
Rust
use thiserror::Error;
|
|
|
|
/// Library errors
|
|
#[derive(Debug, Error)]
|
|
pub enum BackieError {
|
|
#[error("Queue \"{0}\" needs to be configured because of registered tasks: {1:?}")]
|
|
QueueNotConfigured(String, Vec<String>),
|
|
|
|
#[error("Provided task is not serializable to JSON: {0}")]
|
|
NonSerializableTask(#[from] serde_json::Error),
|
|
|
|
#[error("Queue processing error: {0}")]
|
|
QueueProcessingError(#[from] AsyncQueueError),
|
|
|
|
#[error("Worker Pool shutdown error: {0}")]
|
|
WorkerPoolShutdownError(#[from] tokio::sync::watch::error::SendError<()>),
|
|
|
|
#[error("Worker shutdown error: {0}")]
|
|
WorkerShutdownError(#[from] tokio::sync::watch::error::RecvError),
|
|
}
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum AsyncQueueError {
|
|
#[error(transparent)]
|
|
PgError(#[from] diesel::result::Error),
|
|
|
|
#[error("Task with name {0} is not registered")]
|
|
TaskNotRegistered(String),
|
|
}
|