cloud-foundry - 如何在 PCF 上运行依赖作业?
问题描述
我有两个批处理应用程序,例如: batchapp1 和 batchapp2 。我想在 batchapp1 完成后运行 batchapp2。我们可以使用 PCF 调度程序来实现它,还是可以使用 Spring 数据流服务器来实现它?
现在我们正在使用 Control-M 并在 VM 的 JVM 上运行(不是在云上)。
解决方案
您需要的是 Spring Cloud Data Flow 的组合任务功能。有了这个,您就可以将一系列任务/批处理作业编排为直接无环图。图表可以包括顺序、并行或两者,其中每个步骤都是任务/批处理作业。
对于您的示例,在 SCDF 中,DSL 表示形式如下所示:
任务创建 foo --definition "batchapp1 && batchapp2"
在 PCF 上的 SCDF 中启动任务定义foo
后,它将首先启动batchapp1
,成功/失败后,它将运行batchapp2
下一个。您还可以根据每个步骤的退出代码进行转换以运行清理/错误处理步骤。
作为替代方案,您也可以在交互式拖放可视画布上完成所有这些操作。
还要注意的是,在 PCF 中,所有步骤都将作为短期 CF 任务启动,它们会在有限时间内运行。只要应用程序需要运行,它们就会运行,然后干净地关闭以释放资源。
推荐阅读
- python - 在 python 中使用逆字典简化代码
- r - 增加折线长度 r sf
- django - Django:测试 LoginView 抛出 AssertionError
- sql - SQL 联接而不是 UNION
- gridview - 如何访问 Yii2 GridView ActionColumn 中的行号?
- java - 递归函数倒数4-> 0,然后倒数0> 4,如何停止倒数
- amazon-web-services - 如何从 S3 预签名 URL (Amazon Feed API) 下载 Feed 处理报告
- c# - 从“WinRT.IInspectable”到“System.Collections.Generic.IEnumerable`1[Windows.Storage.IStorageFile]”的无效转换
- reactjs - 错误:使用地图反应时,对象作为 React 子项无效
- kubernetes - 将 Kubernetes Ingress 暴露给 LAN 计算机