首页 > 解决方案 > 如何在 Spring Cloud 数据流中运行多个作业

问题描述

我在一个罐子里有 5 个春季批次。我有 1 个 spring 数据流应用程序和 1 个任务。要启动特定工作,我使用以下命令:

java -jar jobName=job1 --spring.cloud.task.executionid=10

每次启动任务时,我都必须提供jobName参数。我的问题是如何避免这种情况?我可以创建对应于 5 个作业的 5 个任务(单个 jar),以便我可以启动 task1 并启动 job1 吗?基本上,如何在 spring 数据流中管理多个作业(包含在单个 jar 中)?

标签: spring-cloud-dataflow

解决方案


将所有批次合并到一个 jar 中后,您需要一种方法来根据某些命令行参数或作业参数控制要启动的批次。

但是,要回答您的问题,是的,您可以使用具有所有批处理应用程序的同一个任务应用程序创建多个任务定义。

例如,如果您有一个任务应用程序注册为mytask1jar 文件。

然后,您可以为同一个任务应用程序创建多个任务定义:

任务-batch1=mytask1 任务-batch2=mytask1 .. 任务-batch5=mytask1

这样,您可以单独启动批次或使用组合任务。

但是,您仍然需要一种在 jar 中启动特定批处理作业的方法。


推荐阅读