taskflow_rs/task/
status.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
4pub enum TaskStatus {
5    Pending,
6    Running,
7    Completed,
8    Failed,
9    Cancelled,
10    Retrying,
11}
12
13impl TaskStatus {
14    pub fn is_finished(&self) -> bool {
15        matches!(
16            self,
17            TaskStatus::Completed | TaskStatus::Failed | TaskStatus::Cancelled
18        )
19    }
20
21    pub fn can_retry(&self) -> bool {
22        matches!(self, TaskStatus::Failed)
23    }
24}