如何使用 Stream 为 Spring Cloud Dataflow 中的子任务设置全局属性 - Task-Launcher-Dataflow
Posted
技术标签:
【中文标题】如何使用 Stream 为 Spring Cloud Dataflow 中的子任务设置全局属性 - Task-Launcher-Dataflow【英文标题】:How do you set global properties for child tasks in Spring Cloud Dataflow using Stream - Task-Launcher-Dataflow 【发布时间】:2021-10-11 16:54:25 【问题描述】:我有一个带有 Http 源、自定义处理器和 Task-Launcher-Dataflow 的流
我有一个从流中调用的组合任务 - task-launcher-dataflow
我将流处理器中的几个属性传递给 task-launcher-dataflow 和子任务,例如...
deploymentProps":"app.composedtask-filecopy2.prescript.scriptFile":"/source/prescript.sh"
这工作正常,但我已达到最大字符限制,并且在组合任务 pod 上出现 sql 异常,说明我已超过 2500 个字符限制。我想为所有任务而不是单独设置属性以节省字符空间,但使用通配符不起作用
deploymentProps":"app.composedtask-filecopy2.prescript.*":"/source/prescript.sh"
有没有办法为所有任务设置属性,而不必单独设置它们?
我尝试在 kubernetes 的 Spring-Cloud-Dataflow-Server configmap 中设置这些,特别是针对 imagePullPolicy,但到目前为止这还没有奏效。
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:如果您使用的是 SCDF 2.8.x,您可以尝试以下部署器属性。:deployer.*.kubernetes.image-pull-policy=Always
【讨论】:
谢谢格伦,这似乎有效! 第二次看这不起作用,我在 SCDF 中发现的一件奇怪的事情是,如果您使用参数/属性手动运行任务,它将保留这些属性(在数据库中)并使用他们在未来的处决。我们发现这一点的方法是在创建新的 scdf 数据库时,那些全局 * 属性不再起作用,必须返回为每个子任务单独设置它们。以上是关于如何使用 Stream 为 Spring Cloud Dataflow 中的子任务设置全局属性 - Task-Launcher-Dataflow的主要内容,如果未能解决你的问题,请参考以下文章
处理 JPA 规范和 spring-data-jpa 时如何使用声明 Stream 作为返回类型
@MessagingGateway 如何配置 Spring Cloud Stream MessageChannels?