问题:
当您搭建了一套业务流程,对于其中的某些节点,如果想让它们暂时不参与到工作流的整体运行中该怎么做呢?
开发环境
在DataStudio中,双击目标节点,打开“调度配置”,在“时间属性”中,将该节点的调度方式切换为“空跑调度”。
空跑调度指的是,该节点仍按照调度周期的时间配置进行调度运行,但都是空跑执行,即一调度到该任务便直接返回成功,没有真正的执行任务。值得注意的是,空跑的节点被发布至生产环境仍然会产生实例,因此不会影响下游节点的运行。
生产环境
进入运维中心,在“周期任务”中的节点列表中选中目标节点,点击列表下方的“暂停(冻结)”;或者在DAG图中,右键进行“暂停(冻结)”。
节点任务设置暂停后,正常生成实例,但当前任务生成的实例及下游依赖实例均不调度。
节点任务设置恢复后,当前任务生成的实例及下游依赖实例正常调度。
如果您只想暂停当前运行实例,也可以进入“周期实例”中选择目标节点的实例进行暂停和解冻。
这里需要对任务暂停和实例暂停进行区分说明:一个节点任务在调度运行时会随着时间的增长产生多个实例,在任务中冻结,是对该任务所有即将产生的实例都冻结,是在未来一段时期内暂停运行;在实例中冻结,是仅暂停当前这个实例,即在当下时间段内暂停运行。
总结
对于“弃之可惜”的节点,推荐您使用第一种方法,即在开发环境中设置好空跑节点,再发布至生产环境进行运维;因为空跑节点只是采取了“跳过”措施,并不会影响下游节点的运行。如果您在运维中心中设置任务或实例的冻结,均会阻碍下游任务的正常执行。请根据您的实际业务情况灵活选择处理方式。
DataWorks百问百答历史记录 请点击这里查看>>
更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】