`

azkaban源码解读工作流状态Status(一)

 
阅读更多

工作流Status状态枚举:

  • READY
  • PREPARIN 
  • RUNNING
  • PAUSED
  •  SUCCEEDED
  •  KILLED
  •  FAILED
  •  FAILED_FINISHING
  •  SKIPPED
  •  DISABLED
  •  QUEUED
  •  FAILED_SUCCEEDED
  •  CANCELLED

其中,绿色代表完成态;红色代表运行态。

 

BlockingStatus——一种阻塞在非完成态的状态封装类

 

 

public Status blockOnFinishedStatus() {
    if (status == null) {
      return null;
    }
    //如果当前job状态为非完成态,则一直阻塞
    while (!Status.isStatusFinished(status)) {
      synchronized (this) {
        try {
          this.wait(WAIT_TIME);
        } catch (InterruptedException e) {
        }
      }
    }

    return status;
}
//释放锁,唤醒一个等待者
public void unblock() {
    synchronized (this) {
      this.notifyAll();
    }
  }
public void changeStatus(Status status) {
    synchronized (this) {
      this.status = status;
      if (Status.isStatusFinished(status)) {
        unblock();
      }
    }
  }

 

分享到:
评论

相关推荐

    azkaban源码

    通过深入研究Azkaban源码,开发者可以学习到如何设计和实现一个高效、灵活的作业调度系统,这对于理解大数据处理流程和优化现有工作流引擎有着极大的价值。同时,这也为开发自定义插件或扩展Azkaban功能提供了基础。

    3、azkaban-3.51.0 条件工作流flow和参数传递

    3、azkaban-3.51.0 条件工作流flow和参数传递 网址:https://blog.csdn.net/chenwewi520feng/article/details/130747271 介绍azkaban的条件工作流以及工作流之间的参数传递示例

    azkaban3.43.0--linux 相关源码tar包

    Azkaban需要一个数据库来存储工作流信息和状态,支持MySQL、PostgreSQL等。配置文件中应指定数据库类型、URL、用户名和密码。初次安装可能需要初始化数据库,使用Azkaban提供的脚本完成。 5. **启动与运行** 配置...

    azkaban4.0编译包

    Azkaban是一个开源的工作流执行引擎,主要用于大数据处理工作流的调度和管理。它由LinkedIn开发并维护,设计目标是简化Hadoop作业的调度和依赖管理。Azkaban4.0编译包提供了预编译的组件,可以直接安装和使用,无需...

    Azkaban工作流管理器.pdf

    Azkaban是一款流行的工作流管理器,尤其在大数据处理领域中广泛使用,因为它与Hadoop等技术紧密集成。Azkaban的核心功能是管理和调度一系列相互依赖的任务,这些任务通常涉及数据处理和分析工作。 Azkaban工作流...

    基于LinkedIn Azkaban的开源工作流任务调度系统Schedulis设计源码

    Schedulis工作流任务调度系统 - 基于LinkedIn Azkaban开源项目开发,包含1238个文件,如JAVA、JS、PNG、VM、PROPERTIES、SQL、XML、SH、JSON和CSS等。该系统由微众银行开发,旨在解决金融级场景下大量批量作业任务的...

    Android-Azkaban工作流管理器

    Azkaban是一款开源的工作流执行管理工具,主要设计用于数据处理工作流,如Hadoop作业调度。虽然它的原生应用环境是大数据处理领域,但标签“Android开发-其它杂项”表明Azkaban在Android开发中也可能有特定的应用...

    Azkaban工作调度框架安装包

    Azkaban是一款开源的工作流和批处理作业调度系统,由LinkedIn开发并维护,主要用于管理和执行大规模的数据处理任务。它的核心设计理念是提供一个简单易用的Web界面,使得数据工程师能够定义、组织和调度复杂的依赖...

    Azkaban - 定时任务系统的配置与运行详解

    Azkaban 是一个开源的定时任务系统,用于管理和执行定时任务。下面将详细介绍 Azkaban 的配置和运行过程。 一、创建 Azkaban 用户 在 Linux 系统中,需要创建一个名为 azkaban 的用户,并赋予 sudo 权限。使用以下...

    Schedulis 是一个基于 LinkedIn 的开源项目 Azkaban 开发的工作流任务调度系统 该调度系统具备高性能,高可用(去中心化多调度中心和多执行器)和多租户资源隔离等金融级特性

    Schedulis 是一个基于 LinkedIn 的开源项目 Azkaban 开发的工作流任务调度系统。该调度系统具备高性能,高可用(去中心化多调度中心和多执行器)和多租户资源隔离等金融级特性;现已被集成到数据应用开发门户 ...

    Azkaban4.0.zip

    Azkaban是一款开源的工作流执行器,主要用于大数据处理工作流的调度和管理。它由LinkedIn开发并维护,设计目标是简化Hadoop作业的管理和执行。Azkaban4.0是其一个重要的版本,包含了对先前版本的改进和新功能的添加...

    Azkaban源码,可以用来进行编译

    Azkaban是一个用Java编写的开源工作流管理系统,旨在简化大数据处理过程中的任务调度和工作流程管理。它提供了一个直观的用户界面,允许用户轻松地定义、调度和监视工作流程。Azkaban的源代码包含了系统的各个组件,...

    azkaban 编译与部署

    Azkaban是一款开源的工作流调度系统,它主要用于批量数据处理任务的管理与调度。Azkaban提供了简单易用的界面来创建、管理和监控工作流,并支持依赖关系的任务调度。 #### 二、Azkaban源码编译 1. **源码获取**: ...

    4、azkaban-3.51.0 通过api进行操作azkaban界面功能

    此外,Azkaban还支持其他API操作,如创建、修改和删除工作流,触发工作流执行,查询工作流状态等。通过这些API,用户可以构建自动化工具或者集成到其他系统中,实现更高效的任务管理。 总结起来,Azkaban的API功能...

    Azkaban任务调度安装配置和使用

    ### Azkaban任务调度安装配置和...综上所述,Azkaban作为一个高效、灵活的工作流调度系统,在大数据处理领域具有广泛的应用前景。通过本文的详细介绍,希望能帮助读者更好地理解和掌握Azkaban的安装、配置和使用方法。

    azkaban-4.0.0.tar.gz

    Azkaban是一款开源的工作流执行引擎,主要用于大数据处理工作流的调度和管理。在4.0.0版本中,它提供了强大的任务调度能力,支持复杂的依赖关系,是大数据项目中的重要工具。本压缩包“azkaban-4.0.0.tar.gz”包含了...

    大数据工具之Azkaban使用教程.zip

    Azkaban是一款开源的工作流执行引擎,主要用于大数据处理工作流的调度和管理。它由LinkedIn开发,设计目标是简化批处理作业的执行流程,尤其是在大数据领域。Azkaban以其直观的用户界面、强大的依赖管理和定时调度...

    azkaban安装包

    Azkaban是一款开源的工作流执行器,主要用于大数据处理工作流的调度和管理。它由LinkedIn开发,设计目标是简化批处理任务的调度,使得数据工程师和分析师能够方便地定义、组织和执行一系列依赖关系的任务。Azkaban的...

    azkaban 最新的编译包

    Azkaban是一款流行的工作流管理系统,它主要用于协调和执行一系列有依赖关系的任务,尤其是在大数据处理领域。这个最新的编译包包含了一系列的组件,方便用户直接安装和使用,避免了自行编译的繁琐过程。 1. **...

Global site tag (gtag.js) - Google Analytics