在datastidio数据开发界面中配置好任务并发布后,便可以在运维中心查看任务的依赖关系图示、实例的运行状态以及实例的上下游关系。打开运维中心,可以看到如下的界面:
Q1:周期任务和周期实例是什么关系?
A1:任务产生实例。任务(即数据开发中的"节点")是起源点,实例是根据任务以及任务配置情况定时生成的执行任务的载体(暂且这么理解)。
注1:实例为固定时间一次性生成。 生成实例时间:当地时间23:30-24点(生成第二天的所有实例)
Q2:实例生成方式( T+1次日生成/即时生成 )有什么区别?
A2:T+1次日生成指的是实例生成延迟一天,例如今天下午5点发布的任务,选了T+1则今天夜里23:30生成明天的的实例,明天该任务可正常调度。
立即生成指的是任务发布后立刻生成实例,比如说今天下午5点发布的任务,选了立即生成实例,那么发布后就能在运维中心--周期实例里面看到该实例了。
注1:小时任务一次性生成第二天的所有实例(大多为24个),分钟级任务亦然。月、周调度每天生成一个,调度日执行,其他时间该实例为空跑。
注:为什么我的任务选了T+1生成实例第二天没有生成实例?为什么配置任务时选的即时生成实例但是实际并没有生成实例?
=》这是因为,发布任务的时间点和后台生成实例的时间点(23:30)冲突了。如果在该时段内发布任务,则影响该任务的实例的正常生成(任务实例会在第三天生成),发布任务时间尽量避过该时段。
Q3:什么是空跑? 除了月/周任务,小时、分钟和天任务为什么会空跑?**
A3:空跑即已经过了当日该实例的定时调度时间所造成的实例运行成功,执行时间为0且没有日志信息的情况。
举个栗子:小时任务,一天一次性生成24个实例,从0点到23点,这些实例是一次性生成的,但是,发布时间是当天14:40,那么14点40之前的这些实例都属于空跑调度,因为前面的时间都已经过去了,所以实例是空跑调度。而从15点开始,实例则会正常调度运行。
分钟、天任务也是一样的道理,比如说定时时间是0点10分,但是实际任务发布时间是11点,那么这个节点当天的实例也会是空跑调度,因为0点10分的定时时间已过。第二天新实例会正常调度。
周/月任务,由于是每天都会产生一个实例,那么如果周/月任务仍然有下游,为了不阻塞下游任务,在非调度时间里亦将其置位成功(空跑)状态以不阻塞下游任务运行。
Q4:实例正常产生为什么没有调度运行起来?处于黄色/灰色状态?
A4:实例运行状态主要分为四种:
1.绿色==>正常运行结束(包括空跑)
2.红色==》出错
3.黄色==》等待(没到定时时间或没有等到执行资源)
4.灰色==》未运行()
需要注意的是,节点是否能运行由两个主要因素决定:
1.该节点依赖的所有上游实例都已运行完毕。
2.该节点的定时执行时间已经到达(如未到该实例指定的调度时间,则该实例处于黄色等待状态)。
注:如果实例处于灰色未运行状态,请检查上游任务运行状况,是否有上游实例出错/未运行/等待,逐级排查。该问题一般都是由于上游未运行/阻塞导致的。
Q5:任务延迟严重?
A5:任务实例的实际运行时间是受上游影响的。比如说你依赖了10个上游任务,本节点定时时间是3月4号0点,但是上游的10个任务最晚的结束时间是3月5号11点,那么你的这个实例虽然定时执行的时间设定是3月4号0点,由于上游结束的晚该实例也会推迟到5号11点之后执行,等所有上有都运行完毕了才会开始运行。**
DataWorks百问百答历史记录请点击查看
采购季限时!原价2500元现仅需99元,3分钟入门DataWorks标准版6大场景!点击查看
更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】