Attemper:分布式多租户的支持流程编排的任务调度应用

attemper

  • 基于quartz实现分布式任务调度(定时、API);引入camunda作为任务执行框架,支持工作流式任务编排、并发批量调度和参数传递。
    • Github
    • Gitee

简介

  • 分布式、多租户的支持流程编排的任务调度应用
    • 支持工作流式的任务编排
    • 基于Spring Boot框架开发,对微服务友好
    • 支持Mysql/Oracle/Sql Server/PostgreSQL
    • 支持Eureka作为注册中心,可自行扩展与Spring Cloud集成的其他注册服务的中间件
    • 支持父子、并发、分支判断等任务
    • 支持(父子)任务传参、参数替换
    • 支持延迟任务(预约操作)
    • 支持金融与证券等行业的交易日
    • 支持国际化(中英)与时区

功能

- 调度
  - 基于数据库锁(quartz 原生)实现分布式任务调度
  - 使用 disruptor 来加速任务分发和执行
  - 支持延迟调度(由业务系统运行时调用 API)
  - 可手工触发任务
  - 可重试(支持从指定的错误节点开始)
  - 可终止任务执行
  - 扩展季度和半年作为 quartz 的周期单位(比如可以每季度(半年)第一个交易日执行)

- 任务
  - 启用/禁用
  - 任务复制/导入/导出
  - 任务流式编排(串行/并发/父子任务)
  - 支持 Http/Shell/Python/Groovy 等
  - Http 任务支持同步和异步
  - 脚本任务支持在线编写和本地文件路径
  - 任务支持超时设置
  - 任务可设置是否能够并行的开关
  - 版本管理(版本迭代、版本切换)
  - 支持手工触发任务(调试、补采)

- 触发器
  - Cron 表达式触发器(quartz):支持 Linux 的 Crontab 的触发器
  - 每日周期触发器(quartz):支持形如每个交易日 09:15 到 15:00 每 90s 执行一次
  - 日历周期触发器(quartz):支持形如每月第 1 天开始,每隔 2 周执行一次
  - 日程偏移触发器(扩展):支持形如每周第一个交易日 07:00 执行一次

- 参数
  - 支持 String,Boolean,Inetger,Double,Long,Date,Time,DateTime,List,Map,Sql,Gist,TradeDate 等类型
  - 任务及其节点可绑定参数
  - 参数可在任务间传递

- 日历
  - 支持证券交易日、自然日、工作日、法定节假日等
  - 可自定义并导入日历
  - 扩展季度和半年作为 quartz 的周期单位(比如可以每季度(半年)第一个交易日执行)

- 数据源
  - 支持 Mysql、Oracle、Sqlserver、Posgresql 数据库的数据源管理
  - 支持测试数据源的连接

- 监控
  - 支持实时、历史和全量监控
  - 支持终止执行中的任务实例
  - 支持重试失败的任务实例
  - 支持在线查看日志

- 告警
  - 告警方式支持邮件(可自己扩展)
  - 告警条件:执行报错

- 统计与分析
  - 支持任务执行实例的统计

- 多租户
  - 不同业务系统以租户分割权限(数据、菜单)

- 多服务
  - 一个租户下,多个分布式服务均可使用该租户
  - 支持以服务发现、IP 端口和域名的方式对接

预览

  • 并发任务
    Attemper:分布式多租户的支持流程编排的任务调度应用_第1张图片

  • Cron表达式在线设计器(基于vue和element-ui)
    Attemper:分布式多租户的支持流程编排的任务调度应用_第2张图片

  • 在线代码编辑(支持脚本语言)
    Attemper:分布式多租户的支持流程编排的任务调度应用_第3张图片

  • 支持金融和证券的交易日参数计算
    Attemper:分布式多租户的支持流程编排的任务调度应用_第4张图片

文档

请参考 调度中心在线文档

开发

Spring Boot&MVC系统对接Demo

交流

QQ群:
1029617143

你可能感兴趣的:(quartz,分布式,触发器,java,spring)