1 Star 0 Fork 65

李文超 / attemper

forked from attemper / attemper 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

attemper

spring-boot spring-cloud quartz camunda disruptor

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

简介

  • 分布式、多租户的支持流程编排的任务调度应用
    • 同时支持Redis分布式锁和Quartz数据库悲观锁
    • 基于camunda工作流引擎,支持工作流式的任务编排
    • 基于Spring Boot框架开发,对微服务友好
    • 支持Mysql/Oracle/Sql Server/PostgreSQL
    • 支持Eureka作为注册中心,可自行扩展与Spring Cloud集成的其他注册服务的中间件
    • 支持脚本任务(Shell/Python等)
    • 支持父子、并发、分支判断等任务
    • 支持(父子)任务传参、参数替换
    • 目前支持邮件、钉钉、企业微信三种告警
    • 支持延迟任务(预约操作)
    • 支持金融与证券等行业的交易日
    • 支持国际化(中英)与时区

功能

- 调度
  - 基于数据库锁(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 数据库的数据源管理
  - 支持测试数据源的连接

- 监控
  - 支持实时、历史和全量监控
  - 支持终止执行中的任务实例
  - 支持重试失败的任务实例
  - 支持在线查看日志
  - 支持监控调度器和执行器的状态(cpu/内存/jvm/文件系统)
  
- 告警
  - 告警方式支持邮件、钉钉机器人和企业微信机器人
  - 告警条件:执行报错

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

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

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

模块

调度中心-前端
调度中心-后端
执行器
调度器

文档

请参考 调度中心在线文档

开发

Spring Boot&MVC系统对接Demo

预览

  • 任务

    • 列表
      任务
    • 设计
      设计
  • 触发器
    触发器

  • 参数
    参数

  • 项目
    项目

  • 日历
    日历

  • 执行实例
    执行实例

  • 任务执行图
    任务执行图

  • 告警

    • 邮件
      邮件
    • 钉钉机器人
      钉钉机器人
    • 企业微信机器人
      企业微信机器人
MIT License Copyright (c) 2020 党羚(ldang) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Distributed,multi-tenancy,job-flow scheduling application(分布式多租户的支持流程编排的任务调度平台) QQ群:1029617143 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/g7go/attemper.git
git@gitee.com:g7go/attemper.git
g7go
attemper
attemper
master

搜索帮助