checkpoint: 调度任务存储落 PG——jobstore 归一 default + execute 写回真实触发 + 前端 store 字典更新

- ap_scheduler: 默认分组改 SQLAlchemyJobStore on PG,删 RedisJobStore 与 redis_instance;注释/告警口径同步
- node/service: jobstore 归一 default(兼容存量 sqlalchemy 名);cron/interval/date 写回 task_node.trigger/trigger_args(前端列表可见真实触发);run_job_now 用独立临时 id,不再覆盖节点既有排程
- enums: 删 APSCHEDULER_LOCK_KEY(jobstore 落 PG 后死锁)
- sys_dict_data: sys_job_store 字典归一 default,删 sqlalchemy 档
- 前端: 任务表单 store 选项与 default 归一
This commit is contained in:
34047007@qq.com
2026-08-07 21:47:38 +08:00
parent 86126ea16f
commit 73e25050df
6 changed files with 61 additions and 46 deletions
+3 -3
View File
@@ -40,7 +40,7 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[Any, Any]:
else:
logger.warning(
"⚠️ Redis 不可用,以降级模式启动:参数/字典读接口回源数据库;"
"登录会话/在线监控/AI配置/调度任务接口将返回 503"
"登录会话/在线监控/AI配置接口将返回 503(调度任务 jobstore 已落 PG,不受影响)"
)
from app.utils.dict_util import preload_value2label_cache
@@ -50,11 +50,11 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[Any, Any]:
scheduler_ready = False
try:
await SchedulerUtil.init_scheduler(redis=app.state.redis)
await SchedulerUtil.init_scheduler()
scheduler_ready = SchedulerUtil.is_running()
logger.info("✅ 定时任务调度器初始化完成")
except Exception as e:
# Redis 不可达时默认 jobstore 连不上:不阻断启动,任务接口降级为 503
# 调度器初始化失败(jobstore 已落 PG,与主库同生共死):不阻断启动
SchedulerUtil.shutdown(wait=False)
logger.error("❌ 定时任务调度器初始化失败(继续启动,任务接口将返回 503): {}", e)