Spring Cloud Dataflow - 并行任务

Spring Cloud Dataflow - Parallel Tasks

我有大约 16 个并行配置的任务,例如 <AAA && BBB|| CCC && DDD || EEE && FFF || GGG && ......>

我的意图是 一次只有 3 个任务 运行ning。只要保持顺序任务的顺序,我不介意先执行哪些任务 运行(BBB 总是在 AAA 之后 运行,在 CCC 之后 DDD 等)

根据此处的文档 - https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#_configuration_options,我尝试设置 --split-thread-core-pool-size=3,但它给了我这个错误 -

Split thread core pool size 3 should be equal or greater than the depth of split flows 17. Try setting the composed task property splitThreadCorePoolSize

我在这里做什么?

Spring Cloud Dataflow 的 Composed Task Runner 在幕后使用 Spring Batch。 Spring 批处理处理流中的嵌套拆分的方式不是很理想:

这就是为什么在需要严格控制并发限制时应避免嵌套拆分的原因。

在你的情况下应该是可能的:使用

<AAA && BBB || CCC && DDD || EEE && FFF>

--split-thread-core-pool-size=2,它按预期工作。但是

<<AAA && BBB> || <CCC && DDD> || <EEE && FFF>>

您应该收到线程核心池大小必须至少为 4 的消息。

在你的问题中,你用上面的形式陈述了流程。请确保您确实以该表格输入。如果您以小写形式输入,SCDF 仍会在许多(但不是所有)地方显示大写形式。已启动组合任务的任务执行视图中的图表 属性 应显示完整定义。