我们有字符串批处理应用程序,每个应用程序中都定义了触发器。
每个 Batch 应用程序都运行数十个具有不同参数的类似作业,并且每个应用程序能够使用 1400 MiB 来执行此操作。
我们使用几年前已弃用的Spring Batch Admin来启动单个作业并简要了解作业中的情况。迁移指南建议将Spring Batch Admin替换为Spring Cloud DataFlow。
Spring Cloud DataFlow 文档说了从 Maven repo 中获取 jar 并使用一些参数运行它。我不喜欢等待 20 秒的应用程序下载、2 分钟的应用程序启动以及所有这些安全/证书/防火墙问题(如何跨内部网下载专有 jar?
我想通过 IP/port 在 Spring Cloud DataFlow 中注册现有应用程序,并将作业定义传递给 Spring Batch 应用程序并监控执行(包括停止作业的能力(。Spring Cloud DataFlow是否可用于此?
这里要解开的东西很少。这是一个尝试。
Spring Cloud DataFlow 文档说了从 Maven repo 中获取 jar 并使用一些参数运行它。我不喜欢等待 20 秒的应用程序下载、2 分钟的应用程序启动以及所有这些安全/证书/防火墙问题
的想法
是的,有一个应用解析过程。但是,下载后,我们将重复使用Maven缓存中的应用程序。
至于 2 分钟的引导窗口,这取决于 Boot 和配置对象的数量,当然还有您的业务逻辑。也许在您的情况下,所有这些都是 2 分钟。
如何跨内联网下载专有 JAR ?
有一个选项可以通过代理解析来自防火墙后面托管的 Maven 工件工厂的工件 - 我们有使用此模型的专有 JAR 的用户。
每个 Batch 应用程序都运行数十个具有不同参数的类似作业,并且每个应用程序能够使用 1400 MiB 来执行此操作。
您可能需要考虑"撰写任务"功能。它不仅提供了将子任务作为直接无环图启动的能力,而且还允许基于每个节点的退出代码进行转换,以进一步拆分和分支以启动更多任务。当然,所有这些都会自动记录在每个执行级别,以便从 SCDF 仪表板进行进一步跟踪和监控。
我想通过 IP/port 在 Spring Cloud DataFlow 中注册现有应用程序,并将作业定义传递给 Spring Batch 应用程序并监控执行(包括停止作业的能力(。
就批处理作业包装到Spring Cloud Task Apps而言,是的,您可以在SCDF中注册它们并在DSL中使用它,或者将它们拖放到可视化画布中,以创建一致的数据管道。我们在这里和这里有一些"批处理作业即任务"示例。