00:00
啊,那接下来呢,我们说一下这个关于这种工作流程调度的时候啊,咱们这个关于失败重试的这个说明啊,这个失败重试呢,在我们的阿兹卡班当中还是很重要的一点啊,大家给大家现在举个例子啊,假如说我现在呢,有一个工作流程啊,工作流程当中呢,有很多工作节点,是不是这样一个一个去执行啊,按理来说是对不对,那假如说啊,在我们执行过程当中叭,如说执行到第二步了啊,那这时候呢,我这个是不是需要去申请资源,咱们任务是不是都提交到雅安上面啊对吧,我需要去申请资源,那结果呢,我申请资源的时候,恰好这时候我们集群当中已经没有了空闲资源了啊,已经没有空闲资源了,那没有空闲资源之后,按理来,按理说我这需要是不是就等待呀,对吧,等着我这个资源是不是给他分配完,然后呃,这个有资源了,然后他就可以执行了呀,是不是这样的一个过程,但是我们有些任务呢,哎,是会配置这个超时的,会配置超时时间的,也就是说我一定时间之内申请不到资源,这个任务可能会怎么样啊。可能会被KO掉啊,可能会被KO掉,或者说呢,我们不是因为资源问题,是因为网络问题,可能某一刻呢,我们这个网络啊,可能这个不稳定,不稳定导致我这个申请资源的请求没有发送出去,是不是可能会导致这个任务也会这个失败呀,对吧?但是这对于这种这种失败,其实它是致命的失败吗?不是,它可能只是暂时的,对吧,我可能只是当时没有资源,只是当时的网络有波动,我可能过一会儿我自动重新尝试一下,那是不是这个任务,这个问题是不是可能就能够解决呀,对吧?那所以说对于这个失败重试咱们还是很有必要的。
01:34
啊,还是很有必要的,那我失败,比如说第一次失败了,诶我再重新尝试一下,诶这回就成功了,那这个问题是不是就解决了呀?啊,那所以说失败重试很重要的,那接下来我们就来看一看失败重试怎么配置啊来其实很简单啊,就是俩参数。这俩参数加在什么地方呢?就加在我们这个肯F当中,这是不是就加配置参数的地方啊,对吧,我们来看一看啊,这俩参数分别是啥?我们直接粘过来吧,CTRLC粘来之后呢,放到我们这个里边来啊,CTRLV大家来看一下。
02:04
这是不是就是在我们原有的这个任务的基础上加了两参数在conig里边啊,跟command对齐,里边呢,有一个retrece retre是不是就是重试的次数,那还有一个rere.back off,这个应该是啥意思啊,这是失败重试的时间间隔啊,单位是毫秒,那这儿呢,是啊,1万毫秒,1万毫秒是十秒,太长的这个时间啊,咱们缩短一点,比如说我缩成这个3000毫秒啊,这是三秒钟重试一次,对吧?那接下来咱们演示一下这个效果,那当然你要想让这个任务失败,必须得让他怎么样。想想演示这个失败重试的效果是必须得让一种失败吧,对吧,那咱们这怎么让他失败的呀?啊,就让他执行了一个不存在的一个脚本,那是不是可能会报错呀,对吧?那就是这样去演示这个失败重置的效果啊,咱们CTRLS保存,那保存之后呢,我还是一样的道理啊,我把这个文件是不是拖到这个包里,然后呢,替换,这时候呢,我们再重新创建一个product啊,点到主页,点击create product,我们起个这个呃,名字叫third啊third,然后点击create product,然后我们点击upload上传啊上传咱们找谁找到first zip,然后点击upload。
03:15
然后呢,点击cute flow走,这时候是不是就又只剩一个了呀,这是咱们刚配的嘛,只有一个,那时候我们点击cute啊走。点击continue,哎,你看他现在什么颜色,是不是蓝色,说明正在执行吧,那其实这时候应该是在干啥呀,是不是不断的尝试啊,对吧,那这个咱们一共是执行几次啊应该。咱们失败重试的次数是三,那总共应该几次啊,其实总共应该是四次才对啊,你刷新一下啊,诶你看最终变红了,是不是还是失败了呀,因为他这个失败中是因为它不是因为那种暂时性的错误导致的,对吧,他这因为原原本这个脚本根本根本就不存在,所以你重试100次他也成功不了吧,对不对,但如果说我这是因为网络的波动导致任务失败,我重试是不是可能会变成功啊,最后是这样的,大家搞清楚这个啊,那接下来咱们看一个东西,Job list,你看这。
04:04
看这个timeline你会看这是不是有三个灰色的这个小线,然后还有红色的对吧?这说明什么?失败重是三次,然后再加上一次,这是不是应该是最终一共执行了四次啊,但是最终结果还是失败了,太失败了啊好,但是咱们得知道这种失败重试怎么去配啊,好,那我把视频录一下。
我来说两句