当前实例完成后,只运行下一个作业实例?

时间:2018-01-02 16:53:08

标签: spring-batch

让我们说我正在编写Spring Batch作业并将其配置为每10秒运行一次。如果作业的迭代需要超过10秒才能完成,会发生什么? Spring Batch会在预定时间启动下一次迭代,还是等待当前迭代完成?在前一种情况下,有没有办法阻止下一个作业实例启动,直到当前作业迭代完成?

1 个答案:

答案 0 :(得分:0)

这取决于使用什么机制以10秒的间隔执行作业。但是,如果在作业定义中将restartable标志设置为false,则在当前时刻完成之前不会启动下一次迭代。您必须设置调度程序来处理它无法启动作业并根据需要处理它的场景。

<job id="myTask" restartable="false">
    ...
</job>

SpringBatch documentation