【Azkaban】条件工作流

Azkaban条件工作流,通过配置.flow中的condition条件来实现job控制。

需求:

  • JobA 执行一个shell脚本,每日执行
  • JobB 执行一个shell脚本,每月1号执行

1.JobA.sh

#!/bin/bash
echo "do JobA"
day=`date +%d`

# 判断当前日期是否为1号
if [ "$day" -eq "01"  ]; then
	wk=1
	echo "dflag:$dflag, run"
else
	wk=2
	echo "dflag:$dflag, skip"

# 传递参数wk至 $JOB_OUTPUT_PROP_FILE
echo "{\"dflag\":$dflag}" > $JOB_OUTPUT_PROP_FILE

PS:参数dflag=1,可以进行传递,而dflag=01,传递的参数会无法识别,暂未分析出原因,因此做了个标签进行传递

报错信息:在这里插入图片描述

2.JobB.sh

#!/bin/bash
echo "do JobB"

3.Job.flow

nodes:
  - name: JobA
    type: command
    config:
      command: sh JobA.sh

  - name: JobB
    type: command
    dependsOn:
      - JobA
    config:
      command: sh JobB.sh
    condition: ${JobA:dflag} == 1

4.Job.project

azkaban-flow-version: 2.0

5.将上述四个脚本压缩至zip
在这里插入图片描述
6.上传至azkaban
在这里插入图片描述
7.配置Schedule
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此处配置为了每天9点定时调度

8.手动执行脚本

(1)条件不成立(非1号)
在这里插入图片描述
在Flow Log会提示condition不满足条件,所以JobB不执行,且Flow会是KILLED状态
在这里插入图片描述
(2)条件成立(1号)
在这里插入图片描述
满足条件,JobB执行,且Flow状态为SUCCEEDED
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值