pub struct TaskManager { /* private fields */ }Expand description
任务管理器
负责管理所有任务的生命周期
§功能
- 任务注册和管理
- 依赖排序和启动
- 优雅停机
- 状态追踪
§示例
ⓘ
use flare_core_runtime::task::TaskManager;
use flare_core_runtime::task::SpawnTask;
let manager = TaskManager::new();
// 添加任务
manager.add_task(Box::new(SpawnTask::new("task-1", async { Ok(()) })));
// 启动所有任务
let (join_set, shutdown_txs) = manager.start_all().await?;
// 等待停机信号
// ...
// 停止所有任务
manager.stop_all(join_set, shutdown_txs).await;Implementations§
Source§impl TaskManager
impl TaskManager
Sourcepub fn with_config(config: RuntimeConfig) -> Self
pub fn with_config(config: RuntimeConfig) -> Self
创建新的任务管理器(带配置)
Sourcepub fn task_count(&self) -> usize
pub fn task_count(&self) -> usize
获取任务数量
Sourcepub fn state_tracker(&self) -> Arc<StateTracker> ⓘ
pub fn state_tracker(&self) -> Arc<StateTracker> ⓘ
获取状态追踪器
Sourcepub async fn start_all(
&mut self,
) -> Result<(JoinSet<TaskResult>, Vec<Sender<()>>), RuntimeError>
pub async fn start_all( &mut self, ) -> Result<(JoinSet<TaskResult>, Vec<Sender<()>>), RuntimeError>
Sourcepub async fn wait_for_ready(&self) -> Result<(), RuntimeError>
pub async fn wait_for_ready(&self) -> Result<(), RuntimeError>
等待所有任务就绪
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for TaskManager
impl !Sync for TaskManager
impl !UnwindSafe for TaskManager
impl Freeze for TaskManager
impl Send for TaskManager
impl Unpin for TaskManager
impl UnsafeUnpin for TaskManager
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