背景
项目中一般需要定时任务或者实时同步服务的部署
设计
要求
- 支持定时任务
- 支持一次性任务
- 支持实时任务
- 任务支持中断(常见批量任务处理,可能出现异常)
实现
框架
- 部署服务端,镜像方式部署,指定数据库地址,并初始化数据库脚本
- 部署执行器端,启动后自动注册到调度中心,可以配置多个执行器名称
- 注解指定任务handler
- 可以指定邮件告警,也可以稍微修改源码对接到钉钉告警
任务表
设计包含执行时间,执行优先级,按照优先级排序,扫描执行任务。
另外设计中断字段,可以写入时间或者id,用户重启任务时继续执行。