我们有String Batch应用程序,每个应用程序中都定义了触发器。
每个批处理应用程序使用不同的参数运行数十个相似的作业,并且每个应用程序能够实现1400 MiB的操作。
我们使用几年前已弃用的Spring Batch Admin来启动单个作业并简要概述作业的进展。迁移指南建议用Spring Cloud DataFlow替换Spring Batch Admin。
Spring Cloud DataFlow文档介绍了如何从Maven存储库中获取jar并使用一些参数运行它。我不希望等待20秒的时间来下载应用程序,等待2分钟才能启动应用程序以及所有安全性/证书/防火墙问题(我如何在Intranet上下载专有的jar?)。
我想通过IP /端口在Spring Cloud DataFlow中注册现有的应用程序,并将作业定义传递给Spring Batch应用程序并监视执行(包括停止作业的能力)。 Spring Cloud DataFlow可以用于此吗?
答案 0 :(得分:1)
这里要解开的东西很少。这是一个尝试。
Spring Cloud DataFlow文档介绍了如何从Maven存储库中获取jar并使用一些参数运行它。我不希望等待20秒钟来下载应用程序,等待2分钟才能启动应用程序以及所有安全性/证书/防火墙问题
是的,有一个应用解析过程。但是,下载后,我们将从Maven缓存中重新使用该应用程序。
对于2分钟引导窗口,取决于引导和配置对象的数量,当然还取决于您的业务逻辑。也许您的情况是2分钟。
如何在Intranet上下载专有的jar?
有一个选项可以通过proxies来解决来自防火墙后面托管的Maven工件的工件-我们在该模型上拥有专用JAR的用户。
每个批处理应用程序使用不同的参数运行数十个相似的作业,并且每个应用程序能够实现1400 MiB的操作。
您可能需要考虑使用Composed Task功能。它不仅提供了将子任务作为直接非循环图启动的功能,而且还允许基于每个节点上的退出代码进行转换,以进一步拆分和分支以启动更多任务。当然,所有这些都将自动记录在每个执行级别上,以从SCDF仪表板进行进一步的跟踪和监视。
我想通过IP /端口在Spring Cloud DataFlow中注册现有应用程序,并将作业定义传递给Spring Batch应用程序并监视执行(包括停止作业的能力)。
只要将批处理作业打包到Spring Cloud Task Apps中,是的,您就可以在SCDF中注册它们并将其在DSL中使用,或者将它们拖放到可视画布中,以创建一致的数据管道。我们有一些“作为任务的批处理”样本here和here。