`

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就是一个工作流引擎。 解决作业依赖关系,从ETL到数据分析 可以解决作业依赖关系的DAG

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

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

    azkaban4.0编译包

    根据azkaban4.0源码编译好的包,可以直接安装使用。

    Azkaban工作流管理器.pdf

    Azkaban工作流管理器例题

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

    Azkaban是一个用Java编写的开源工作流管理系统,旨在简化大数据处理过程中的任务调度和工作流程管理。它提供了一个直观的用户界面,允许用户轻松地定义、调度和监视工作流程。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包

    该tar包为azkaban 3.43源码压缩包,要使用只需将tar包下载后放到linux解压编译后使用即可

    azkaban一个批量工作流的任务调度器

    一个批量工作流任务调度器,提供功能清晰,简单易用的Web UI界面 提供job配置文件快速建立任务和任务之间的依赖关系 提供模块化和可插拔的插件机制,原生支持command、Java、Hive、Pig、Hadoop 基于Java开发,代码...

    Android-Azkaban工作流管理器

    Azkaban工作流管理器

    azkaban 编译与部署

    azkaban 源码编译,安装部署。

    azkaban玩转热门大数据调度系统视频教程

    从零开始讲解大数据调度系统构成,集成大数据计算任务构建大数据工作流,基于Azkaban构建实现企业级自动化任务开发 课程亮点 1,知识体系完备,从小白到大神各阶段读者均能学有所获。 2,生动形象,化繁为简,讲解...

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

    4、azkaban-3.51.0 通过api进行操作azkaban界面功能 网址:https://blog.csdn.net/chenwewi520feng/article/details/130749415 介绍azkaban通过其api调用其通过页面提供的功能

    Azkaban工作调度框架安装包

    Azkaban工作调度框架安装包

    azkaban-3.84.4,修改邮箱端口号465 编译版本

    解决阿里云默认关闭25端口,导致azkaban无法发送邮件报警信息问题;修改源码更改邮箱端口号为465后重新编译. azkaban版本为3.84.4.

    azkaban3.42版本已编译

    # Build Azkaban ./gradlew build # Clean the build ./gradlew clean # Build and install distributions ./gradlew installDist # Run tests ./gradlew test # Build without running tests ./gradlew build -...

    azkaban:Azkaban工作流管理器

    Build Azkaban./gradlew build# Clean the build./gradlew clean# Build and install distributions./gradlew installDist# Run tests./gradlew test# Build without running tests./gradlew build -x test建立发布...

    大数据技术之Azkaban3.X视频教程

    对于大数据项目而言,工作流之间互相依赖且通常在零点左右调度执行,一个可以完善部署工作流且能实现报警功能的调度系统十分重要。 本套教程重点讲解Azkaban的安装部署及进阶使用,内容涵盖:工作流调度系统简介、...

    azkaban-master3.5.zip

    Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的...

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

    Azkaban是由Linkedin公司推出的一个开源的批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程。 Azkaban的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖...

    azkaban-4.0.0.tar.gz

    Azkaban4.0源码。

Global site tag (gtag.js) - Google Analytics