背景

项目中一般需要定时任务或者实时同步服务的部署

设计

要求

  • 支持定时任务
  • 支持一次性任务
  • 支持实时任务
  • 任务支持中断(常见批量任务处理,可能出现异常)

实现

框架

  1. 部署服务端,镜像方式部署,指定数据库地址,并初始化数据库脚本
  2. 部署执行器端,启动后自动注册到调度中心,可以配置多个执行器名称
  3. 注解指定任务handler
  4. 可以指定邮件告警,也可以稍微修改源码对接到钉钉告警

任务表

设计包含执行时间,执行优先级,按照优先级排序,扫描执行任务。

另外设计中断字段,可以写入时间或者id,用户重启任务时继续执行。