feat(scheduler): 定时任务后端持久化 + Pipeline trigger 编译修复
S4/S8 定时任务后端: - 新增 scheduled_tasks 表 (migration v7) - 新增 scheduled_task CRUD 模块 (handlers/service/types) - 注册 /api/scheduler/tasks 路由 (GET/POST/PATCH/DELETE) - 新增 start_user_task_scheduler() 30秒轮询循环 - 支持 cron/interval/once 三种调度类型 - once 类型执行后自动禁用 修复: - pipeline_commands.rs: 修复 pipeline.trigger 字段不存在的编译错误 (Pipeline 结构体无 trigger 字段,改用 metadata.tags/description)
This commit is contained in:
@@ -48,6 +48,9 @@ async fn main() -> anyhow::Result<()> {
|
||||
// 启动内置 DB 清理任务(设备清理等不通过 Worker 的任务)
|
||||
zclaw_saas::scheduler::start_db_cleanup_tasks(db.clone());
|
||||
|
||||
// 启动用户定时任务调度循环(30s 轮询 scheduled_tasks 表)
|
||||
zclaw_saas::scheduler::start_user_task_scheduler(db.clone());
|
||||
|
||||
// 启动内存中的 rate limit 条目清理
|
||||
let rate_limit_state = state.clone();
|
||||
tokio::spawn(async move {
|
||||
@@ -219,6 +222,7 @@ async fn build_router(state: AppState) -> axum::Router {
|
||||
.merge(zclaw_saas::role::routes())
|
||||
.merge(zclaw_saas::prompt::routes())
|
||||
.merge(zclaw_saas::agent_template::routes())
|
||||
.merge(zclaw_saas::scheduled_task::routes())
|
||||
.merge(zclaw_saas::telemetry::routes())
|
||||
.layer(middleware::from_fn_with_state(
|
||||
state.clone(),
|
||||
|
||||
Reference in New Issue
Block a user