pub struct Task {Show 13 fields
pub id: TaskId,
pub name: String,
pub description: String,
pub status: TaskStatus,
pub priority: TaskPriority,
pub dependencies: Vec<TaskId>,
pub created_at: DateTime<Utc>,
pub started_at: Option<DateTime<Utc>>,
pub completed_at: Option<DateTime<Utc>>,
pub timeout: Option<Duration>,
pub retry_count: u32,
pub max_retries: u32,
pub metadata: HashMap<String, Value>,
}Expand description
任务定义
Fields§
§id: TaskId§name: String§description: String§status: TaskStatus§priority: TaskPriority§dependencies: Vec<TaskId>§created_at: DateTime<Utc>§started_at: Option<DateTime<Utc>>§completed_at: Option<DateTime<Utc>>§timeout: Option<Duration>§retry_count: u32§max_retries: u32§metadata: HashMap<String, Value>Implementations§
Source§impl Task
impl Task
pub fn new(name: impl Into<String>, description: impl Into<String>) -> Self
pub fn with_priority(self, priority: TaskPriority) -> Self
pub fn with_timeout(self, timeout: Duration) -> Self
pub fn with_dependency(self, task_id: TaskId) -> Self
pub fn with_metadata(self, key: &str, value: Value) -> Self
Sourcepub fn can_execute(&self, completed: &HashMap<TaskId, TaskStatus>) -> bool
pub fn can_execute(&self, completed: &HashMap<TaskId, TaskStatus>) -> bool
检查是否可以执行(所有依赖已完成)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Task
impl<'de> Deserialize<'de> for Task
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Task
Source§impl Ord for Task
impl Ord for Task
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Auto Trait Implementations§
impl Freeze for Task
impl RefUnwindSafe for Task
impl Send for Task
impl Sync for Task
impl Unpin for Task
impl UnsafeUnpin for Task
impl UnwindSafe for Task
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.