gpt4 book ai didi

spring-batch - 如何停止和恢复 Spring 批处理作业

转载 作者:行者123 更新时间:2023-12-05 03:11:57 40 4
gpt4 key购买 nike

目标:我正在使用 spring batch 进行数据处理,我希望有一个选项可以停止/恢复(在它停止的地方)。

问题:我能够向正在运行的作业发送停止信号并且它成功停止。但是当我尝试向同一个作业发送开始信号时,它会创建一个新的作业实例并作为一个新作业启动。

我的问题是我们如何在 spring batch 中实现停止作业的恢复功能。

最佳答案

您只需使用相同的参数运行它。只需确保您没有将作业标记为未重新启动,并且您没有使用 RunIdIncrementer 或类似的工具来自动生成唯一的作业参数。

参见例如,this example .第一次运行后,我们有:

INFO: Job: [SimpleJob: [name=myJob]] completed with the following parameters: [{}] and the following status: [STOPPED]Status is: STOPPED, job execution id 0  #1 step1 COMPLETED  #2 step2 STOPPED

在第二个之后:

INFO: Job: [SimpleJob: [name=myJob]] completed with the following parameters: [{}] and the following status: [COMPLETED]Status is: COMPLETED, job execution id 1  #3 step2 COMPLETED  #4 step3 COMPLETED

请注意,停止的步骤将重新执行。如果您使用面向 block 的步骤,请确保至少 ItemReader 实现了 ItemStream(并以正确的语义实现)。

标有allowRestartWithComplete 的步骤将始终重新运行。

关于spring-batch - 如何停止和恢复 Spring 批处理作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602238/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com