feat: APScheduler持久化定时任务 + SQL检测按钮 + 定时时间醒目红色

1. ticket_scheduler.py: 纯asyncio→APScheduler+SQLite持久化
   - 服务重启后定时任务不丢失
   - 启动时自动恢复scheduled状态工单
   - shutdown时优雅关闭scheduler

2. TicketCreatePage.tsx:
   - 提交按钮旁新增SQL检测按钮(Shield图标)
   - 验证通过前提交按钮置灰+提示'请先通过SQL检测'
   - SQL内容变化自动重置验证状态
   - 定时时间改为醒目红色字体(text-red-500 font-semibold)

3. main.py: lifespan中启动APScheduler+恢复定时工单
This commit is contained in:
logan committed 2026-05-25 00:08:48 +08:00
1 parent ffb3d24e2a
commit a8c92fe7ae
3 files changed
+208 -73

No files matched your search

+12
View File
@@ -77,8 +77,20 @@ async def lifespan(app: FastAPI):
await init_db()
await seed_data()
await seed_workflows()
# 启动 APScheduler + 恢复定时工单
from app.services.ticket_scheduler import start_scheduler, recover_scheduled_tickets, shutdown_scheduler
start_scheduler()
recovered = await recover_scheduled_tickets()
if recovered > 0:
import logging
logging.getLogger(__name__).info("恢复了 %d 个定时工单", recovered)
yield
# Shutdown
shutdown_scheduler()
app = FastAPI(
title="SQL-Platform API",