Azkaban flow 执行过程

webserver调用submitExecutableFlow执行任务:


submitExecutableFlow

判断queueflow是否满了,默认大小为100000:

Azkaban flow 执行过程_第1张图片
capacity

调用uploadExecutableFlow


Azkaban flow 执行过程_第2张图片
uploadExecutableFlow
"INSERT INTO execution_flows "
        + "(project_id, flow_id, version, status, submit_time, submit_user,  update_time) "
        + "values (?,?,?,?,?,?,?)";

更新execution_flows表,将本次提交flow的状态设置为Preparing,后面会选择Executor Server来执行:

如果一直处于的Preparing状态,一般情况下是executor没有执行并更新该flow成功,因为没有更新Preparing的状态,可以忽略,前提是任务可以正常运行。

下面是判断并提交到executor执行任务的代码:


Azkaban flow 执行过程_第3张图片
判断是否multiple executor 并执行

你可能感兴趣的:(Azkaban flow 执行过程)