Skip to content

fix(engine): 阻止已撤销流程继续执行节点调度 --story=135505027 - #275

Closed
dengyh wants to merge 1 commit into
TencentBlueKing:masterfrom
dengyh:ai/fix-revoked-schedule
Closed

fix(engine): 阻止已撤销流程继续执行节点调度 --story=135505027#275
dengyh wants to merge 1 commit into
TencentBlueKing:masterfrom
dengyh:ai/fix-revoked-schedule

Conversation

@dengyh

@dengyh dengyh commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

问题

根流程被撤销后,异步节点的调度入口只检查节点自身仍为 RUNNING,没有检查根流程已是 REVOKED。因此长定时、轮询和回调类节点仍可能在撤销后进入插件 schedule,并继续产生副作用。

修复

  • Engine.schedule 获取调度锁和调用插件前检查根流程状态。
  • 根流程为 REVOKED 时将当前 schedule 标记为过期并立即返回。
  • 不获取调度锁、不调用插件 handler,也不推进后续节点。
  • 新增回归测试覆盖该中止路径。

影响范围

统一覆盖使用 bamboo-engine schedule 机制的定时、轮询和回调节点,不针对具体插件做特判。

验证

  • tests/engine/test_engine_schedule.py: 14 passed
  • flake8 bamboo_engine/engine.py tests/engine/test_engine_schedule.py: passed

联动

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant