azkaban多个flow拥有相同的job,造成job被多次调度问题

在azkaban的项目中,各个flow是单独执行的,flow之间job的执行进度是不共享的.

        

如图,job1->job2和job1->job3是两个不同的flow,两个flow执行的时候job1都会被调度,造成重复调度资源浪费,还可能造成并发问题.


解决办法:

    合并两个flow,给job2和job3添加一个逻辑依赖即可.添加如下job.

#job4

type=command

command = echo do nothing

dependencies =job2,job3

两个flow合并成一个大的flow以后,job1不会重复调度.DAG简图如下:

  

如果工程中任务量太大,可以选择配置schedule分批次执行.很简单的办法有时候就是想不到   : )


猜你喜欢

转载自blog.csdn.net/weixin_39445556/article/details/80190824
job