spring - 春季启动批处理到具有多个作业的春季云任务
问题描述
我有一个 Spring Boot 批处理应用程序,它有 5 个独特的作业,由控制台使用以下命令执行:
java -jar artifactName jobName param1
但是现在这个项目将迁移到云端,所以我需要使用spring cloud task。到目前为止,一切都很好。
我知道我必须在主类中定义 @enableTask 并在 application.properties 中定义属性: spring.application.name =cloudTask
因此,阅读 Spring 文档了解,为了使用spring cloud dataflow server触发我的作业,可以定义一个任务,在这种情况下我应该将其用作cloudTask。但没有意义,因为将如何触发它,因为我的应用程序有 5 个不同的工作,所以问题是:
如何将此任务名称与我在应用程序中定义的工作联系起来?逻辑告诉我,我还需要定义 5 个任务名称,那么如何将此任务名称与相应的作业绑定。
解决方案
- 使用
@EnableTask
注释,您应该能够在 SCDF 中将批次注册为任务应用程序 - 在“应用程序”下 - 一旦您的批次出现在应用程序中,
如果所有作业 5 个作业都是独立的,您应该能够创建 5 个具有相同应用程序名称但具有不同参数的不同组合任务,
或者
如果它们是相互关联的,则可以将链接的作业组合在一起 1 个组合任务,通过在 DSL 中提供别名并传递相应的参数集。 - 组合任务启动后,可以在“Task -> Executions”下查看任务执行状态,在“Jobs”下可以查看对应的 Jobs 状态
@EnableConfigurationProperties
@ConfigurationProperties
可以利用将自定义参数传递给任务。
推荐阅读
- linked-server - 链接服务器和 Azure 托管实例
- javascript - P5.JS 动画 GIF 在渲染时显示所有帧
- python - 链接 Keras 模型
- javascript - 在 JavaScript 中从对象数组中的元素中拆分字符
- r - 在 fixst::etable() 中对固定效果进行分组
- math - 垂直定位传感器的磁力计航向计算
- java - java中的哈希函数
- arrays - Swiftui - 我如何在 Firestore 中查询我的数组?
- snowflake-cloud-data-platform - 如何用数组转置雪花表
- javascript - Selection: incorrect isCollapsed value for deselecting by clicking on selected text