【问题标题】:Spring Cloud DataFlow - getting Execution ID after running taskSpring Cloud DataFlow - 运行任务后获取执行ID
【发布时间】:2017-01-27 15:48:45
【问题描述】:

目前,我正在从 Spring XD 作为我的工作流和运行时环境迁移到 Spring Cloud DataFlow 和 Apache Airflow。我想在 Airflow 中创建工作流,并使用自定义 Airflow 运算符通过 REST-API 在 Spring Cloud DataFlow 服务器上运行 Spring Cloud Tasks。

可以使用:

curl -X GET http://SERVER:9393/tasks/deployments/...

不幸的是,DataFlow 没有在此请求中返回作业执行 ID,以创建用于监控应用程序的简单方法。有没有办法以同步的方式获取这个 id?因为获得特定作业的最后执行可能会导致错误,例如。如果我同时运行许多相同的作业,则会错过作业执行。

在 Spring DataFlow 上,我正在运行 Spring Batch 作业,所以也许更好的方法是以某种方式设置执行作业 ID 并将其作为输入参数传递?

【问题讨论】:

    标签: spring spring-batch spring-cloud airflow spring-cloud-dataflow


    【解决方案1】:

    尝试使用以下注解从你的 bean 中收集任务信息:

    public class MyBean {
    
        @BeforeTask
        public void methodA(TaskExecution taskExecution) {
        }
    
        @AfterTask
        public void methodB(TaskExecution taskExecution) {
        }
    
        @FailedTask
        public void methodC(TaskExecution taskExecution, Throwable throwable) {
        }
    }
    

    https://docs.spring.io/spring-cloud-task/docs/current-SNAPSHOT/reference/htmlsingle/#features-task-execution-listener

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 2019-12-15
      • 1970-01-01
      • 2017-01-23
      相关资源
      最近更新 更多