You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BMC Control-M V9:如何用On-Do操作在重运行前移除入条件?

BMC Control-M V9 重运行前删除入条件的顺序问题解决

问题出在Control-M On-Do操作的执行逻辑上:默认情况下,同一个On-Do里的多个操作是并行触发的,不是按你配置的顺序串行执行。你设置的“移除条件”和“重运行”会同时启动,重运行操作会先一步拿到作业状态(此时入条件还没被删除),所以作业直接启动,根本等不到删除条件的操作生效。

解决办法分两种,选适合你的:

方法1:拆分操作并设置依赖

不要把删除条件和重运行放在同一个On-Do里,拆成两个独立的On-Do动作:

  • 第一个On-Do动作:执行删除入条件的操作(比如用ctmdelete -CONDITION <条件名> -TABLE <表名>命令)
  • 第二个On-Do动作:设置为依赖第一个操作成功完成,然后执行重运行命令(ctmrerun -JOBID <作业ID>)

这样就能保证删除条件完成后,才会触发重运行,作业会因为入条件已被删除,进入等待状态。

方法2:用脚本串行执行

把两个操作写到一个Shell脚本里,确保先执行删除条件,确认成功后再触发重运行,脚本示例:

# 先删除目标入条件
ctmdelete -CONDITION "ORDER_PROCESSED" -TABLE "APP_TABLE"
# 检查删除操作是否成功
if [ $? -eq 0 ]; then
    # 成功后再重运行作业
    ctmrerun -JOBID "JOB_12345"
fi

然后把这个脚本作为On-Do的执行内容,Control-M会按脚本里的顺序串行执行,避免并行导致的顺序问题。

另外补充:如果作业的入条件是自身生成的,重运行时可以加上-RESET参数(ctmrerun -RESET -JOBID <作业ID>),确保作业完全重置到初始等待状态,不会保留之前的条件满足记录。

内容的提问来源于stack exchange,提问作者Piaroc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:17:07