pub struct TaskTreeManager { /* private fields */ }Expand description
任务树管理器
Implementations§
Source§impl TaskTreeManager
impl TaskTreeManager
Sourcepub fn with_default_dir() -> Self
pub fn with_default_dir() -> Self
从默认目录创建
Sourcepub async fn set_current_blueprint(&self, blueprint: Blueprint)
pub async fn set_current_blueprint(&self, blueprint: Blueprint)
设置当前蓝图
Sourcepub async fn get_current_blueprint(&self) -> Option<Blueprint>
pub async fn get_current_blueprint(&self) -> Option<Blueprint>
获取当前蓝图
Sourcepub async fn generate_from_blueprint(
&self,
blueprint: &Blueprint,
) -> Result<TaskTree>
pub async fn generate_from_blueprint( &self, blueprint: &Blueprint, ) -> Result<TaskTree>
从蓝图生成任务树
Sourcepub async fn update_task_status(
&self,
tree_id: &str,
task_id: &str,
status: TaskStatus,
) -> Result<TaskNode>
pub async fn update_task_status( &self, tree_id: &str, task_id: &str, status: TaskStatus, ) -> Result<TaskNode>
更新任务状态
Sourcepub async fn can_start_task(
&self,
tree_id: &str,
task_id: &str,
) -> (bool, Vec<String>)
pub async fn can_start_task( &self, tree_id: &str, task_id: &str, ) -> (bool, Vec<String>)
检查任务是否可以开始
Sourcepub async fn get_executable_tasks(&self, tree_id: &str) -> Vec<TaskNode>
pub async fn get_executable_tasks(&self, tree_id: &str) -> Vec<TaskNode>
获取可执行的任务列表
Sourcepub async fn create_task_checkpoint(
&self,
tree_id: &str,
task_id: &str,
name: String,
description: Option<String>,
) -> Result<Checkpoint>
pub async fn create_task_checkpoint( &self, tree_id: &str, task_id: &str, name: String, description: Option<String>, ) -> Result<Checkpoint>
创建任务检查点
Sourcepub async fn create_global_checkpoint(
&self,
tree_id: &str,
name: String,
description: Option<String>,
) -> Result<GlobalCheckpoint>
pub async fn create_global_checkpoint( &self, tree_id: &str, name: String, description: Option<String>, ) -> Result<GlobalCheckpoint>
创建全局检查点
Sourcepub async fn rollback_to_checkpoint(
&self,
tree_id: &str,
task_id: &str,
checkpoint_id: &str,
) -> Result<TaskNode>
pub async fn rollback_to_checkpoint( &self, tree_id: &str, task_id: &str, checkpoint_id: &str, ) -> Result<TaskNode>
回滚到任务检查点
Sourcepub async fn rollback_to_global_checkpoint(
&self,
tree_id: &str,
checkpoint_id: &str,
) -> Result<TaskTree>
pub async fn rollback_to_global_checkpoint( &self, tree_id: &str, checkpoint_id: &str, ) -> Result<TaskTree>
回滚到全局检查点
Sourcepub async fn add_sub_task(
&self,
tree_id: &str,
parent_task_id: &str,
name: String,
description: String,
priority: i32,
) -> Result<TaskNode>
pub async fn add_sub_task( &self, tree_id: &str, parent_task_id: &str, name: String, description: String, priority: i32, ) -> Result<TaskNode>
动态添加子任务
Sourcepub fn calculate_stats(&self, root: &TaskNode) -> TaskTreeStats
pub fn calculate_stats(&self, root: &TaskNode) -> TaskTreeStats
计算任务树统计
Sourcepub async fn get_task_tree(&self, id: &str) -> Option<TaskTree>
pub async fn get_task_tree(&self, id: &str) -> Option<TaskTree>
获取任务树
Sourcepub async fn get_current_task_tree(&self) -> Option<TaskTree>
pub async fn get_current_task_tree(&self) -> Option<TaskTree>
获取当前任务树
Sourcepub async fn get_task_path(&self, tree_id: &str, task_id: &str) -> Vec<TaskNode>
pub async fn get_task_path(&self, tree_id: &str, task_id: &str) -> Vec<TaskNode>
获取任务路径(从根到目标任务的路径)
Sourcepub async fn get_leaf_tasks(&self, tree_id: &str) -> Vec<TaskNode>
pub async fn get_leaf_tasks(&self, tree_id: &str) -> Vec<TaskNode>
获取所有叶子任务
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TaskTreeManager
impl !RefUnwindSafe for TaskTreeManager
impl Send for TaskTreeManager
impl Sync for TaskTreeManager
impl Unpin for TaskTreeManager
impl UnsafeUnpin for TaskTreeManager
impl !UnwindSafe for TaskTreeManager
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.