我在Spring Cloud Dataflow中定义了这两个任务,为简单起见,我将它们简称为first-task
和second-task
。然后定义一个组合任务:
task create --name my-composed-task --definition "first-task && second-task"
现在,我需要计划此任务,但是我需要计划的任务以两个参数开头,假设这些参数为OBJECT_TYPES=1
和SKIP_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'"
但仍然不会在子任务之间传递参数。有人可以告诉我这些定义有什么问题吗?
答案 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。