pub trait TaskManagerTrait: Send + Sync {
// Required methods
fn add(&self, task: Task) -> Layer2Result<TaskId>;
fn get(&self, id: &TaskId) -> Option<Task>;
fn update_status<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
status: TaskStatus,
) -> Pin<Box<dyn Future<Output = Layer2Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn cancel<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = Layer2Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn next(&self) -> Option<Task>;
fn count(&self) -> usize;
fn count_by_status(&self, status: TaskStatus) -> usize;
fn cleanup_completed(&self) -> usize;
}Expand description
任务管理器接口
Required Methods§
Sourcefn add(&self, task: Task) -> Layer2Result<TaskId>
fn add(&self, task: Task) -> Layer2Result<TaskId>
添加任务
Sourcefn update_status<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
status: TaskStatus,
) -> Pin<Box<dyn Future<Output = Layer2Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_status<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
status: TaskStatus,
) -> Pin<Box<dyn Future<Output = Layer2Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
更新任务状态
Sourcefn cancel<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = Layer2Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn cancel<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = Layer2Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
取消任务
Sourcefn count_by_status(&self, status: TaskStatus) -> usize
fn count_by_status(&self, status: TaskStatus) -> usize
获取特定状态的任务数量
Sourcefn cleanup_completed(&self) -> usize
fn cleanup_completed(&self) -> usize
清理已完成任务
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".