s1-cron-job-route.md 1014 Bytes

Plan: S1 - 新增 GET /cron/ 路由

目标

在 app.py 新增路由 @app.route("/cron/<job_id>"),渲染 cron_job.html 模板。 复用现有 _load_cron_jobs() 查找 job 信息。job 不存在返回 404。

涉及文件

  • app.py: 新增路由函数
  • templates/cron_job.html: 模板(S2 创建,S1 只引用)

数据流

  1. Flask 接收 /cron/<job_id> GET 请求
  2. 调用 _load_cron_jobs() 获取所有 job
  3. 遍历查找 id 匹配的 job
  4. 找到 → render_template("cron_job.html", job=job)
  5. 未找到 → 返回 404

步骤

  1. RED: 写测试 test_s1_cron_route.py — curl /cron/ → 200, /cron/nonexistent → 404
  2. GREEN: 在 app.py 添加路由(在现有 /api/cron/logs/ 后面)
  3. REFACTOR: 确认无重复代码
  4. VERIFY: 运行测试 + smoketest

风险

  • jinja2.exceptions.TemplateNotFound 如果 S2 还没创建模板 → S1 RED 时预计会看到此错误,这是预期 RED
  • 需要知道至少一个真实 job ID 用于测试