本文介绍冻结解冻的相关问题。
冻结周期任务和周期实例的影响
- 冻结与解冻周期任务
系统每晚会根据周期任务生成第二天要运行的周期实例,冻结周期任务会导致之后生成的周期实例处于冻结状态,并导致依赖该周期实例的下游实例无法运行。说明 冻结周期任务当天,已经生成的周期实例会正常调度。冻结操作第二天,周期实例会冻结,并且会阻塞下游所有节点执行。
- 在运维中心解冻周期任务。
- 在数据开发解冻周期任务。
说明 在数据开发( DataStudio)调度配置的调度类型里选择暂停调度或者正常调度,需重新提交发布,才会冻结或解冻生产调度的周期任务。 - 冻结与解冻周期实例
冻结周期实例只作用于该实例,如果只解冻周期实例,周期任务仍然是冻结状态,那么第二天的周期实例仍然是冻结状态。注意 冻结解冻均人为操作。如有疑问,可查看相应操作记录。
冻结周期任务对补数据、测试操作产生的实例影响
补数据与测试操作都是根据当前的周期任务生成的实例快照,如果周期任务是冻结状态,那么生成的补数据实例和测试实例也会是冻结状态。
冻结的实例解冻后如何重新运行?
冻结的实例解冻后,会根据调度参数配置的定时时间及上游依赖的父节点运行状态确定是否触发当前实例的运行。
假设实例a是实例b的上游,实例b被冻结,如果解冻实例b:
- 场景一:实例a未运行,那么解冻后实例b会处于等待状态,实例b会按照节点定时时间运行。
- 场景二:实例a运行中,那么解冻后实例b会处于等待状态,实例b会按照节点定时时间运行。
- 场景三:实例a运行成功。
- 如果实例b的定时时间未到,那么实例b会处于等待状态。
- 如果实例b定时时间已到,那么实例b会运行失败,如果您需要运行实例b,请单击实例b操作列的重跑,重新运行当前实例。实例运行成功后,会根据当前实例配置的依赖关系触发下游实例的正常调度。
- 场景四:实例a运行失败则不会触发实例b的运行。实例a运行失败请参见任务未运行处理。
为什么做了冻结操作,任务还是执行?
- 问题现象
做了冻结操作,任务还是执行。
- 产生原因及解决措施
平台每晚会根据周期任务,生成第二天要跑的周期实例并自动调度。您可以手动针对当前周期任务触发补数据和测试操作,并根据当前实例快照信息生成补数据实例与测试实例,根据以上说明的周期任务与周期实例,测试实例和补数据实例的关系,您需要先查看以下几点。
- 请确认您冻结的任务是周期任务。
- 周期任务的冻结操作对已经生成的实例无效。
- 对冻结操作当天的周期实例不生效(周期实例为前一天晚上批量生成)。
- 对冻结周期任务操作前触发的补数据实例与测试实例不生效。