最近在做一些定时任务/批处理相关的开发工作,记录一点心得体会。
批处理任务的几个特点
- recoverable
- repeatable
- reuseable
recoverable
在任务执行过程中,不论是主动还是被动,任务都面临着随时中断的情况。被中断的任务需要能够从中断的地方(也可能会前置或后置一点)恢复回来继续执行。
这里还需要将任务拆分为几个子步骤,以便可以从某个步骤开始恢复执行。
repeatable
任务需要可重复执行。这对开发、测试、验收都很有用处。
reuseable
可重用主要指任务产生的中间数据需要妥善保留,以便将来重新运行默写模块时能够快速执行。