00:01
好,那接下来呢,我们开始这个条件工作流的第二个案例啊,第二个案例呢,称之为预定以红案例啊,我们现在再来回顾一下预定以红的概念是什么啊。来,其实这段话,这句话呢,说的就很明白了,那就是阿兹卡班呢,他预制了几个特殊的。判断条件啊,或者叫做我们这个job的执行条件啊,那我们称之为预定一红。啊好,那玉定红他的这个条件,呃,判断条件到底是根据什么逻辑去判断的呢?来我们看一下。运红呢,他会根据啊所有的副job的完成情况进行判断,然后呢再去决定是否执行。啊,是这样的啊呃,这块呢,我需要给大家强调一下这个所谓的负job的概念啊,这个什么叫做负照呢?假如说我这儿呢,一共有这样的。三个这个工作节点,然后呢,组成的一个工作流程对不对,咱们比如说这个是A啊,这个是B啊,这个是C,假如说C是我们的当前照吧啊,那C的副照吧是谁呢?C的副照吧只有BA不是他的副照吧啊对吧,那因为A相当于已经是他的爷爷辈了,对吧?啊这个一定要注意一下啊,副照只有B啊那预定于红呢,会根据啊每个job的副job。
01:25
啊,完成的情况,然后呢去进行判断,然后再决定是否执行当前照吧,啊,那这个可用的预定于弧有哪些,用预定于弧有哪些呢?有以下五个啊,我们来看一下。分别是,啊,All success,啊,All done all field one success和one field。那这五个预定宏分别指的是什么样的逻辑呢?我们一个一个看一下啊,先说all success。啊,那这个表明什么呢?表明当前当当前job的副job全部完成啊,全部成功还不能说完成啊,是全部成功啊才执行。
02:05
啊,什么意思呢,比如说我们现在呢,有一个这样的工作流程。啊,这个是A啊,这个是B,那这是C,那A和B啊,就是C的附照吧,对吧?啊,那这个all success指什么?咱们以这个C作为当前照网啊,那也就说是不是A和B都成功,C才能执行啊,对吧?哎,那这个是不是就是我们默认的这个执行条件呀,对吧?哎,这就是咱们的末日执行条件啊好,那接下来咱们往下走,那第二一个all done。凹蛋表示什么呢?凹蛋表示,哎,复照板全部完成才执行。啊,注意啊,这儿这个成功和完成的这个区别。啊,成功和完成的区别,那成功是必须得是正确的,执行完才叫成功,对吧,那那什么叫完成呢?哎,我取消了也叫完,也叫完成。对不对啊,我Q掉了也叫完成啊,是这样的,所以这块大家一定得注意,也就是说所谓的完成呢,就是说不管A和和B是否成功啊,只要他完成了,那C就可以执行了。
03:11
啊,实际上这就是所谓的all done啊,那接下来往下走,All field。什么意思?就是A,哎,或者以及B都失败了之后,C才可以执行啊,这叫all field。啊,也就是负照全部失败才执行当前照啊好,那下边one success one success指的什么呢?也就是说负照负照当中啊,至少有一个成功。啊,至少有一个成功,那这个C就可以执行了。啊,那这是one successful,那one field的呢,那表示负照至少有一个失败啊,我这个C才可以执行。啊,这也就是A和B至少有一个失败,C才能够执行。啊,这就是哎,Ask卡文当中的几个啊,内置的哎执行条件啊,All success all done all field or one success one field,这就是所谓的预定与红啊好,那咱们把这个明确了之后呢,我们接下来也是看一个具体的案例来演示一下这个预定与宏的使用啊好,往下走。
04:14
那这边我们有一个这样的案例啊,有什么需求,先看需求,呃,这里边我们这个案例的需求是这样的啊,呃,我们里边一共有三个job ABC,那ABC那咱们的要求是什么呢?就是job a执行一个shell脚本,Job b执行一个she要脚本,然后job c呢,也是执行一个she要脚本,那他们的类型是不是都是可望的类型就可以了,对吧?那OK,我们继续往下走,那要求什么呢?要求job a。Job b中有一个成功。啊即可执行,那这个是对谁的要求呢?指的是这个job c的一个要求啊,也就是说我们说A和job b中只要有一个成功就可以执行job c了啊,那所以说根据他的这个呃要求呢,我们大致能够哎推断出来我们这个呃呃工作流程的依赖关系应该什么样的,应该是这样的啊,就是我们之前一直画的那个A啊,这是B啊,然后呢,这是C。
05:10
啊,然后C是不是依赖于AC,也依赖于B呀,对吧?啊,然后咱这要求什么呢?就是A和B当中只要有一个成功,那C就可以执行。对吧,那我们是不是构造一个这样的,哎工作流程就可以了,对吧,那当然这个C呢,哎,它得用什么呀,得用我们的预定宏,哎,去自定义它的执行条件才可以。对吧,啊,那这里边儿具体怎么去落实呢?我们来看一下啊。这边我们新建一个这个A。嗯,咱们这个退一下啊,这边我们需要新建一个Bo a.SH啊,新建一个job a.SH好,那我们其实之前已经有一个job a.SH了,对吧。呃,只不过这里边呢,我们有一个这样的,呃,输出语句,那这个咱不要了,给它去掉就行,那保存一下job a.CH已经有了,那接下来咱们继续,那还需要再新建一个job c的SH啊,我们也给它建出来啊,新建一个文件CTRLV啊,然后呢,我们CTRLX保存。
06:09
这个是照吧c.SH那改一下这个文件的后缀名。点击保存好,那继续往下进行,注意啊,咱这是没有B对吧,是没有B的啊,那接下来呢,我们新建一个呃microcro,然后这个flow,这这个这个micro什么意思呢?就是所谓的红的意思啊,就是红的意思啊啊那咱们给它创建出来啊,那现在我们把这个内容呢,直接粘过来,来CTRLC粘来之后呢,我们再给大家解释里边的内容啊CTRLV啊CTRLV来我们一起来看一下这个呃文件里边的内容,一起来看一下这个文件里边的内容啊。这里边儿呢,我们这个NO1共有三个呃元素对吧,这是一个数组三个元素。啊,这分别是AB以及C,那C是不是依赖于我们的这个A和B啊,对吧?啊,那如果说我们考虑这个condition的话,那他们的执行逻辑是怎么样呢?是不是就是AB都成功之后才执行C,对吧?但是我们现在要求是什么?A和B只要有一个成功,那就可以执行C了,对不对?那所以说我们得怎么办呢?是不是得在job c里边加上一个condition呀,对吧?那condition这边呢,我们直接给它放一个one success就可以了。
07:20
那这样一来就能实现我们的效果,那这就是所谓的预定与宏,你会发现预定与宏呢,我们使用起来要比我们自己使用那个运行参数去构造这个执行条件要方便一些啊,要方便一些,好了,那这个就是我们啊这个flow文件啊,那现在我们给它创建出来,那CTRLS保存一下啊,这个保存成啊,Micro flow macro,呃,这个呃。是Michael还是mark啊?咱们来看一下。这是micro对吧,那咱们给他拿过来吧,啊,应该是micro哈,这个红的拼写应该是micro,咱们查一下吧,啊M呃,这个红咱们直接搜索搜索红就可以。
08:01
好,应该是呃micro哈,Macro啊,那这边文档当中这个应该是有一点小毛病,咱给他改一下啊,改成macro啊micro.flow这个大家稍微注意一下啊好,那这边我们给它重新保存一下啊,Macro,然后点flow,然后我们放到桌面,然后把下边的这个后缀名改一下。Micro flow,然后点击保存啊,那这个micro flow我们就已经诶给它创建出来了啊行,那接下来我们再看文档当中还需要去串其他的东西啊,其他就没有了啊,然后接下来看这个要求。这里边呢,要求我们将AC micro flow,然后ask卡这个project文件给它打包成一个这样的一个zip包,然后注意啊,这里边是没有top b.SH的。啊,那这个为什么要呃特地的给大家强调一下,没有job b.SH呢,其实我们这呢,主要是为了看到这个效果啊,那这边我们是不是一共有三个job对吧。
09:03
啊A啊啊,然后C,然后我们故意没有给他放进来这个jobva b的SH,那你没给他放,是不是他就找不到这个脚本啊,对吧,找到了脚本这个B是不是就会执行失败啊,对吧?但是我们这儿呢,呃,是不是要测试的就是一个one success这样的一个预定于宏啊对吧,也是A和B只要有一个成功C就能执行。对不对,所以说我们这儿呢,是故意不放这个B啊,然后再让他失败的啊,好,这个大家注意一下啊,也就是我们只需要打包这样的1234个文件就可以了,好,那现在咱们去准备一下,这里边我们需要有一个job a.SH那需要一个job c.SH需要一个micro.flow文件,还需要一个product文件,对吧,应该是他们四个啊,那现在我们把这四个呢,给它打到一个包里。好,这边起个名字啊,咱们就叫micro macro。点击保存好,那现在我们继续,呃,这个往下进行,呃,我们还是打开刚刚的这个阿德卡班的工作界面,哎,我们再重新创建一个product,咱们就叫micro macro。
10:06
下面的Mac。然后点击create。好,那现在我们点击upload上传。呃,找到我们刚刚的那个zip包啊,micro.zip。然后点击打开,然后呢,Upload上传好,那接下来我们点击flow,那我们现在还是点击执行一下,那走。Continue,好,你会发现啊,那这里边的执行逻辑是什么样的呀,是不是就是A和B只要有一个成功,那这个C就能够执行啊,对吧,这个效果呢也出来了啊,这个就是预定一宏案例。
我来说两句