使用参数安排组合任务

时间:2020-05-28 16:11:00

标签: spring-cloud-dataflow

我在Spring Cloud Dataflow中定义了这两个任务,为简单起见,我将它们简称为first-tasksecond-task。然后定义一个组合任务:

task create --name my-composed-task --definition "first-task && second-task"

现在,我需要计划此任务,但是我需要计划的任务以两个参数开头,假设这些参数为OBJECT_TYPES=1SKIP_EXTRA_STUFF=true。所以我尝试设置我的时间表:

task schedule create --definitionName my-composed-task --name my-scheduled-task --expression '0 5 4 * ?' --arguments 'OBJECT_TYPES=1 SKIP_EXTRA_STUFF=true'

但是,当调度开始时,第二个任务失败,因为这些参数是强制性的。我还试图像这样更改时间表定义:

task schedule create --definitionName my-composed-task --name my-scheduled-task --expression '0 5 4 * ?' --arguments "--composed-task-arguments='OBJECT_TYPES=1 SKIP_EXTRA_STUFF=true'"

但仍然不会在子任务之间传递参数。有人可以告诉我这些定义有什么问题吗?

1 个答案:

答案 0 :(得分:0)

对于“合成任务”,您可以使用属性键--composedTaskArguments将参数传递给子任务。例如,

您可以执行以下操作:

task schedule create --definitionName my-composed-task --name my-scheduled-task --expression '0 5 4 * ?' --arguments "--composedTaskArguments=\"OBJECT_TYPES=1 SKIP_EXTRA_STUFF=true\""

此外,请注意,--composedTaskArguments指定的值将传递给所有子任务。也可以将参数传递给组合任务has just been added的特定子任务给SCDF。