use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum TaskStatus {
Pending,
Running,
Completed,
Failed,
Cancelled,
Retrying,
}
impl TaskStatus {
pub fn is_finished(&self) -> bool {
matches!(
self,
TaskStatus::Completed | TaskStatus::Failed | TaskStatus::Cancelled
)
}
pub fn can_retry(&self) -> bool {
matches!(self, TaskStatus::Failed)
}
}