ratchjob 0.2.1

一个rust实现的分布式任务调度平台服务。计划完全兼容xxl-job协议,然后再增强一些任务调度平台能力。
Documentation
use crate::task::model::request_model::JobRunParam;
use crate::task::model::task::JobTaskInfo;
use actix::Message;
use std::sync::Arc;

#[derive(Debug, Message)]
#[rtype(result = "anyhow::Result<TaskRequestResult>")]
pub enum TaskRequestCmd {
    RunTask(Arc<String>, JobRunParam, JobTaskInfo),
    RunBroadcastTask(Arc<Vec<Arc<String>>>, JobRunParam),
}

impl TaskRequestCmd {
    pub fn get_task(self) -> Option<JobTaskInfo> {
        match self {
            TaskRequestCmd::RunTask(_, _, task) => Some(task),
            TaskRequestCmd::RunBroadcastTask(_, _) => None,
        }
    }
}

pub enum TaskRequestResult {
    None,
    RunningCount(usize),
}