首页 > 解决方案 > 如何在 PCF 上运行依赖作业?

问题描述

我有两个批处理应用程序,例如: batchapp1 和 batchapp2 。我想在 batchapp1 完成后运行 batchapp2。我们可以使用 PCF 调度程序来实现它,还是可以使用 Spring 数据流服务器来实现它?

现在我们正在使用 Control-M 并在 VM 的 JVM 上运行(不是在云上)。

标签: cloud-foundryspring-cloud-dataflow

解决方案


您需要的是 Spring Cloud Data Flow 的组合任务功能。有了这个,您就可以将一系列任务/批处理作业编排为直接无环图。图表可以包括顺序、并行或两者,其中每个步骤都是任务/批处理作业。

对于您的示例,在 SCDF 中,DSL 表示形式如下所示:

任务创建 foo --definition "batchapp1 && batchapp2"

在 PCF 上的 SCDF 中启动任务定义foo后,它将首先启动batchapp1,成功/失败后,它将运行batchapp2下一个。您还可以根据每个步骤的退出代码进行转换以运行清理/错误处理步骤。

作为替代方案,您也可以在交互式拖放可视画布上完成所有这些操作。

还要注意的是,在 PCF 中,所有步骤都将作为短期 CF 任务启动,它们会在有限时间内运行。只要应用程序需要运行,它们就会运行,然后干净地关闭以释放资源。


推荐阅读