我有两个批处理应用程序,例如:batchapp1和batchapp2。我想在batchapp1完成后运行batchapp2。我们可以使用PCF调度程序来实现它,还是可以使用Spring数据流服务器来实现它?
现在,我们正在使用Control-M进行操作,并在VM的JVM上运行(不在云上)。
答案 0 :(得分:1)
您需要的是Spring Cloud Data Flow的Composed Task功能。这样,您就可以将一系列任务/批处理作业编排为直接非循环图。图形可以包括顺序图,并行图或同时包括这两个图,其中每个步骤都是一个Task / Batch-job。
例如,在SCDF中,DSL representation如下所示:
任务创建foo --definition“ batchapp1 && batchapp2”
在PCF的SCDF中启动任务定义foo
时,它将首先启动batchapp1
,成功/失败后,其后将运行batchapp2
。您还可以根据每个步骤的退出代码进行转换,以运行清理/错误处理步骤。
作为替代方案,您也可以在交互式拖放可视画布上完成所有这些操作。
还要注意,在PCF中,所有步骤都将作为短暂的CF任务启动,并在有限的时间内运行。只要应用程序需要运行,它们就会一直运行,然后干净地关闭以释放资源。