DataWorks会为您的周期调度节点自动生成自调度实例,支持T+1次日生成、发布后即时生成两种实例生成方式,即发布至生产环境后第二天自动调度及发布至生产环境后立即自动调度。本文为您介绍即时生成实例的规则及配置要点。
注意事项
选择发布后即时生成方式,并将任务发布至生产环境后,建议您前往运维中心确认配置是否符合预期。
周期实例生效情况
调度任务发布至生产环境后,均可在运维中心的周期任务界面查看任务的最新依赖情况,但自动调度的周期实例何时生效,或依赖关系何时更新,与您选择的实例生成方式有关。
变更操作的生效时间
每日全量转实例期间(即
23:30~24:00
),任务的变更操作会在第三天产生的周期实例生效。推荐的使用场景
建议仅在需要根据新配置,替换已有自动调度的周期实例时,选择使用该功能。其他场景非必要不建议使用实时转实例。
重要对已发布生产的任务修改调度配置时,不建议使用该功能。如果使用,可能存在依赖关系变更、依赖关系错乱、实例替换、实例被删除等现象,导致当天依赖关系变得复杂。
如果您需要根据新任务配置,可选择T+1次日生成方式发布,然后针对该任务执行补数据操作。
使用该功能后,第二天任务依赖关系会恢复正常。
即时生成实例存在时间差
为避免实例变更导致任务运行异常,发布后即时生成实例存在10分钟的时间差,即任务定时时间在发布时间点十分钟后(即实时转实例生效时间点),任务才会真实执行或根据最新的调度配置重新生成实例并调度。
即时生成实例的作用范围
并非所有变更都会立即生效。例如修改了节点关联的数据源实例,然后配置即时生成实例发布,不会影响当天已有实例,当天周期实例仍会采用变更前的数据源实例执行。
您可以对最新配置的周期任务执行补数据操作,补数据将根据任务最新配置执行。
功能概要
使用发布后即时生成方式生成实例时,相关功能场景的实例运行及上下游依赖情况如下。
功能场景 | 相关文档 |
新建任务发布当天会即时生成实例,发布当天生成的实例是否真实执行,与任务的定时时间有关。 | |
修改已发布任务的调度时间(即定时时间与调度频率),当天实例依赖较复杂。非必要,建议已发布任务不使用发布后即时生成实例方式。 | |
若上下游均为新建任务,但上下游实例的生成方式不一致,可能导致产生场景:节点孤立。 | |
任务发布后即时生成的实例,其下游会按照上游最新的调度配置(天、月、小时)来设置下游依赖。 |
场景一:新建节点发布后选择即时生成实例
新发布至生产环境的任务,实例执行情况与其定时时间有关,如下表。
场景 | 描述 |
任务的定时时间为未来时间 | DataWorks将根据定时时间生成可执行的周期实例并调度执行。 该策略仅影响任务当天的实例运行情况。实例是否替换,与实例定时时间是否在发布时间点10分钟后有关,详情请参见注意事项。 |
任务的定时时间为过去时间 | DataWorks会生成过期的空跑实例,实例状态为实时生成的过期实例,该实例不会真实执行。 若需执行当天数据,可选择进行补数据操作,补业务时间昨天的数据。该操作生成实例时也会存在10分钟的时间差,详情请参见注意事项。 |
示例:假设任务发布至生产环境的时间为12:00
,则实时转实例生效时间点为12:10
。
若任务的定时时间在
12:10
后,则任务将真实调度执行。若任务的定时时间在
12:10
前,则任务将空跑,其实例状态为实时生成的过期实例。
场景二:更新已发布任务的调度周期
更新生产任务的调度时间(即调度频率与定时时间),并将变更操作发布至生产环境,该任务当天周期实例可能会出现变更前与变更后的实例同时存在,因此,会导致任务当天的依赖关系比较复杂。
此场景仅发生在实时转实例任务发布的当天,发布第二天任务会正常根据配置生成周期实例。
具体如下:
任务的定时时间为未来时间
DataWorks将根据最新调度配置替换已生成的未来时间段的实例。
任务的定时时间为过去时间
DataWorks会保留定时时间之前的实例,替换或删除定时时间之后的实例。
调度时间变更并发布后,当天实例是否会根据新配置重新生成实例并真实执行,取决于任务定时时间的设置,以及最终将变更操作发布至生产环境的时间点。详情请参见注意事项。
场景三:上下游任务实例生成方式不一致
若上下游均为新建节点,并且上下游任务的实例生成方式不一致。例如,上游选择T+1次日生成,下游选择发布后即时生成,则会导致产生场景:节点孤立。孤立节点不会自动调度运行,如果该孤立节点下游依赖较多,可能会造成较严重的后果。
场景四:变更任务调度时间,对下游依赖关系的影响
下游节点挂载依赖时,会按照上游节点最新的调度配置(天、月、小时依赖)来设置下游依赖。
变更调度时间的生产任务,其下游实例会按照最新的调度配置,为新生成的实例和未替换的旧实例挂载依赖,小时、分钟各场景依赖情况,详情请参见必读:复杂依赖场景调度配置原则与示例。待发布的节点版本,其实例生成方式为发布后即时生成,且存在调度时间变更时,才会出现该场景。
示例场景如下:
场景一:上游节点从每6小时调度一次,变更为每8小时调度一次,并且选择即时生成实例。
场景二:上游节点从每6小时调度一次,变更为每日16点调度一次,并且选择即时生成实例。