Agent proxy.py 缺 @step 装饰器

frappe/agent 上游源码 proxy.py:334reload_nginx() 方法缺少 @step 装饰器。导致 Agent Job “Add Site to Upstream” 最后一步的状态追踪不更新,Site 卡在 Installing。


1. 归属

问题答案
属于哪个仓库?frappe/agent(上游),proxy.py 第 334 行
在容器内路径?Agent 源码中 agent/proxy.py
在构建链的哪一步?Agent 执行 Add Site to Upstream Job 的最后一步

2. 功能解释

@step 装饰器做什么?

Agent Job 的执行分为多个 step。每次 step 完成后,Agent 向 Press 汇报”这一步成功了”。@step 装饰器标记的方法会自动触发这个汇报。没标记的方法执行了但不会汇报,Press 就认为 Job 还没完成。

实际影响:

站点实际 HTTP 200、frappe 正常运行——Agent 已经把 nginx 配置写好了、reload 了。只是没向 Press 汇报最后一步成功,Press 状态机等不到 Success,Site 永远显示 Installing。


3. 为什么不能修正

这是上游 frappe/agent 源码的 bug。可以加 Fix 7 修掉它,但:

  • 每次合并上游要注意这个文件
  • 修复的只是一行装饰器,但涉及上游代码改动
  • 当前影响仅限 UI 显示,不影响实际功能

4. 缓解措施

部署完后检查站点实际访问(HTTP 200),不依赖 Press UI 的状态显示。