[size=medium][b]如何写一个强壮的JOB任务[/b][/size]
[color=indigo][b]1. JOB跑一半断电了,不能产生脏数据,同时支持重跑修复数据,也不能产生脏数据,(脏数据包括海量的异常日志等)
2. JOB要对幂等性支持,支持并发下的重复执行
3. JOB要继承AbstractJob来写,通过判断isTerminal(),来优雅的支持中断,防止慢查询等拖死数据库,可以及时终止执行中的JOB
4. JOB返回结果要有,查询了多少数据,处理了多少,失败了多少,成功了多少,同时记录日志或任务执行日志表,当有失败的时候,发送报警短信给开发者
5. JOB都应该是独立的,几个JOB之间应该是互斥关系,可以独立跑,不要有先后顺序
6. JOB执行时间越短越好,默认在半个小时内执行完为最好
7. JOB要有修复模式,支持对数据的修复,要可以指定数据或数据区间执行
8. JOB的功能性要独立,领域独立,不要一个JOB做了总理的工作[/b][/color]
[color=indigo][b]1. JOB跑一半断电了,不能产生脏数据,同时支持重跑修复数据,也不能产生脏数据,(脏数据包括海量的异常日志等)
2. JOB要对幂等性支持,支持并发下的重复执行
3. JOB要继承AbstractJob来写,通过判断isTerminal(),来优雅的支持中断,防止慢查询等拖死数据库,可以及时终止执行中的JOB
4. JOB返回结果要有,查询了多少数据,处理了多少,失败了多少,成功了多少,同时记录日志或任务执行日志表,当有失败的时候,发送报警短信给开发者
5. JOB都应该是独立的,几个JOB之间应该是互斥关系,可以独立跑,不要有先后顺序
6. JOB执行时间越短越好,默认在半个小时内执行完为最好
7. JOB要有修复模式,支持对数据的修复,要可以指定数据或数据区间执行
8. JOB的功能性要独立,领域独立,不要一个JOB做了总理的工作[/b][/color]