use apalis_core::task::{status::StatusError, task_id::TaskIdError};
use sqlx::Error as SqlxError;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error(transparent)]
Database(#[from] SqlxError),
#[error("JsonError: {0}")]
JsonError(serde_json::Error),
#[error("ReenqueueMismatch: Queued [{queued}] , Abandoned[{abandoned}] ")]
ReenqueueMismatch {
queued: usize,
abandoned: usize,
},
#[error("TaskIdError: {0}")]
TaskIdError(TaskIdError),
#[error("StatusError: {0}")]
StatusError(StatusError),
#[error("WorkerOutOfSync")]
WorkerOutOfSync,
#[error("WorkerAlreadyExists: {0}")]
WorkerAlreadyExists(String),
}