gpt4 book ai didi

java - Spring Batch 远程分区

转载 作者:行者123 更新时间:2023-12-02 10:36:17 25 4
gpt4 key购买 nike

我想了解远程分区期间 DeployerPartitionHandlerDeployerStepExecutionHandler 之间的集成。

当有多个worker时,父任务执行的开始时间、结束时间、执行状态如何更新?

如果其中一个工作进程由于某些外部原因而变得无响应,会发生什么情况?有没有办法以编程方式处理这种情况?即,终止无响应的进程并使该步骤失败。

提前感谢您的投入!!

最佳答案

您有很多问题,所以让我一次回答一个。

当有多个worker时,父任务执行的开始时间、结束时间、执行状态如何更新?

此架构中的所有组件都是任务。父级是一个任务,工作人员是每个任务,因此它们都独立更新任务存储库。父应用程序将在任务开始时标记开始时间(在调用任何 CommandLineRunnerApplicationRunner 实现之前)。一旦所有工作人员完成,它将更新结束时间和结果(因为远程分区步骤只有在所有工作人员完成或超时后才会完成)。

如果其中一个工作进程由于某些外部原因而变得无响应,会发生什么?

DeployerPartitionHandler 使用的部署程序依赖于生产使用的平台(CloudFoundry、Kubernetes 等)。每个平台都以自己的方式处理挂起进程,因此这个问题的答案实际上是特定于平台的。在大多数情况下,如果一个进程被识别为不健康(无论平台使用什么定义),它将被关闭。

有没有办法以编程方式处理这种情况?即,终止无响应的进程并使该步骤失败。

如果一个分区在执行过程中失败,父分区也会被标记为失败并且可以重新启动。重新启动时(默认情况下),只有失败的分区才会重新运行。任何已经完成的分区都不会被重新执行。

关于java - Spring Batch 远程分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273148/

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