【问题标题】:spring boot batch to spring cloud task with multiple jobs春季启动批处理到具有多个作业的春季云任务
【发布时间】:2019-01-28 06:52:07
【问题描述】:

我有一个 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 个任务名称,那么如何将此任务名称与相应的作业绑定。

【问题讨论】:

    标签: spring spring-boot spring-cloud spring-cloud-dataflow spring-cloud-task


    【解决方案1】:
    1. 使用 @EnableTask 注释,您应该能够在 SCDF 中将批处理注册为任务应用程序 - 在“应用程序”下
    2. 一旦您的批次出现在应用程序中,
      如果所有作业 5 个作业都是独立的,您应该能够创建 5 个不同的组合任务,应用名称相同但参数不同,

      如果它们是相互关联的,那么通过在 DSL 中提供别名并传递相应的参数集,可以将链接的作业组合成一个组合任务。
    3. 组合任务启动后,可以在“Task -> Executions”下查看任务执行状态,在“Jobs”下可以查看对应的Jobs状态

    要将自定义参数传递给任务,可以利用@EnableConfigurationProperties @ConfigurationProperties

    【讨论】:

      猜你喜欢
      • 2017-10-06
      • 1970-01-01
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      相关资源
      最近更新 更多