Azkaban(二):基础案例集-依赖案例、自动重试案例、手动调节是否执行案例

目录

作业依赖案例

自动失败重试案例

手动调节job是否执行案例


作业依赖案例

需求:jobA和jobB执行完了,才能执行jobC。

流程和hello world案例一样

Azkaban(一):入门-安装及案例_一个人的牛牛的博客-CSDN博客

 

1.创建azkaban.project文件(文件名不重要,后缀一定要是project·),内容如下:

azkaban-flow-version: 2.0

2.创建second.flow文件(文件名不重要,后缀一定要是flow),内容如下:

nodes:
 - name: jobC
   type: command
   # jobC依赖jobB和jobA
   dependsOn:
    - jobA
    - jobB
   config:
    command: echo "this is C"

 - name: jobA
   type: command
   config:
    command: echo "this is A"

 - name: jobB
   type: command
   config:
    command: echo "this is B" 

注:azkaban.project和second.flow保存时注意类型要选择为All type (*.*)。 

3.将azkaban.project和second.flow压缩,以zip格式压缩,文件名一定要是英文

4.web server操作

(1)创建project

(2)上传压缩的文件

 (3)执行

 

(4)执行结果

 

 依赖案例完成!!!

自动失败重试案例

需求:如果执行任务失败,需要重试3次,重试的时间间隔10000ms

1.创建third.flow文件(文件名不重要,后缀一定要是flow),内容如下:

注:保存时注意类型要选择为All type (*.*)。

nodes:
 - name: jobA
   type: command
   config:
    command: sh /no.sh
    retries: 3
    retry.backoff: 10000

解释:

retries:重试次数;

retry:重试的时间和间隔;

sh /no.sh:执行no.sh文件;

注:azkaban.project和third.flow保存时注意类型要选择为All type (*.*)。 

2.将azkaban.project和third.flow压缩,以zip格式压缩,文件名一定要是英文

3.web server操作

参照上一个案例

4.执行结果 

正在执行中:

执行完成结果:

没有no.sh文件,所以会报错。 

失败自动重试案例完成!!!!!

 

注:如果在flow全局配置中添加任务失败重试配置,重试配置会应用到所有job。

例:

config:
 retries: 3
 retry.backoff: 10000
nodes:
 - name: JobA
 type: command
 config:
 command: sh /no.sh

手动调节job是否执行案例

需求:jobA——>jobB——>jobC——>jobD。生产环境中任何job都有可能挂掉,可以根据需求执行想要执行的job。

1.创建four.flow文件(文件名不重要,后缀一定要是flow),内容如下:

nodes:
 - name: jobA
   type: command
   config:
    command: echo "this is A"

 - name: jobB
   type: command
   dependsOn:
    - jobA
   config:
    command: echo "this is B"

 - name: jobC
   type: command
   dependsOn:
    - jobB
   config:
    command: echo "this is C"

 - name: jobD
   type: command
   dependsOn:
    - jobC
   config:
    command: echo "this is D"

注:azkaban.project和four.flow保存时注意类型要选择为All type (*.*)。 

2.将azkaban.project和four.flow压缩,以zip格式压缩,文件名一定要是英文

3.web server操作

参照上面案例

(1)设置不运行的job

解释:

EnableDisable下面都分别有如下参数:

Parents:该作业的上一个任务;

Ancestors:该作业前的所有任务;

Children:该作业后的下一个任务;

Descendents:该作业后的所有任务;

Enable All:所有的任务;

(2)执行 

 

(3) 执行结果

 

 手动调节job是否执行案例完成!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值