如何解决使用DeployerPartitionHandler
基于编号。使用DeployerPartitionHandler时,返回的分区数是否可以在运行时(在运行时)动态更改maxWorkers
关于, u路
更新 请找到我的用例。批处理执行在正常工作日开始,其中maxWorkers为“ 4”,分区返回为40,但突然负载增加,并且该批处理的特定运行返回了正常分区的四倍(160)。在这里,我如何增加maxWorkers(比如16)。另外,如果我始终以很高的maxWorkers上限(例如16)开始批处理,我相信正常负载的worker也可以达到16,因为每个分区都是由worker处理的,对吗?
解决方法
他们不能。围绕maxWorkers
的想法实际上是在设定高水位标记,以防止该应用程序通过。实际上,工作人员数量的动态方面将来自分区的数量。如果您在问题中提供有关特定用例的更多详细信息,我们可以看看是否仍然有意义。
根据用例进行更新:
在您的特定用例中,您将需要一个侦听器(可能是JobExecutionListener
),该侦听器将确定最大值应为多少。您所描述的是您需要“常规最大”和“最大负载最大”。侦听器将在相关步骤之前运行,并在ExecutionContext
中设置最大值。然后,如果DeployerPartitionHandler
是步骤作用域的对象,则可以在执行该步骤时将ExecutionContext
的值注入处理程序中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。