taskflow-rs 0.1.1

A high-performance, async-first task orchestration framework for Rust
Documentation
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)
    }
}