HelloJob - 基于 J2EE 的调度系统


Apache
跨平台
Java

软件简介

Hello Job

调度系统

hello job 是使用j2ee技术开发的调度系统,提供交互简单的中文操作界面,40秒上手。目前业界有不少调度系统,比如oozie(太难用)、xxl-
job(太重量)、airflow(python写的,依赖linux的crontab,只能够部署在linux), hello
job致力于打造一个轻量级的、简单好用的跨平台调度系统,希望可以成为调度界的一股清流。

hello job特征:

  1. 支持时间调度、作业依赖触发、手工执行三种调度方式。

  2. 时间调度:底层基于quartz实现,支持cron命令,实现灵活的时间调度方式。

  3. 作业依赖触发:一个子作业可以依赖多个父作业,一个父作业可以有多个子作业,系统同时做死循环判断,避免作业依赖形成环。

  4. 手工执行:对任何作业都可以手动触发一次。

  5. 调度系统自身并不承担业务逻辑,通过ssh 协议执行远程机器的命令,支持hive、spark、kettle、python、shell等脚本的执行。

  6. 实现了邮件告警功能,配置作业的收件人邮箱,当作业执行失败会发报错信息到该邮箱。

  7. 带有一个名为dt的日期变量(yyyyMMdd格式),可以在“执行命令”中使用dt。如“echodt。如“echo{dt}”。dt的值默认为昨天。所以本系统特别适合用于etl按天增量同步数据的作业的调度。

  8. 对于作业有个“自依赖”的选项,自依赖约束该作业在当天dt能够执行,要求前一天dt已经成功执行。

  9. 可以部署在windows 或者linux 服务器。