我正在尝试解决Control-M调度程序和在spring-xd中运行的批处理作业之间的集成。
在我们现有的环境中,Control-M 代理在主机上运行,批处理作业通过 Control-M 的 bash 脚本触发。
在 spring-xd 架构中,批处理作业被推送到 XD 容器集群中,并将在可用容器上运行。这意味着我不知道作业将在哪个 XD 容器上运行。我可以将其固定到具有部署清单的单个容器,但这违背了群集的全部要点。
一个潜在的解决方案。
使用 Control-M 代理在 XD 容器集群外部运行虚拟机,并通过 bash 脚本通过 XD API 触发作业。脚本需要等待作业完成,方法是通过 XD API 轮询作业完成或等待事件发出完成信号。
进一步考虑,这可能是触发PCF中部署的批处理作业的解决方案。
在前世,我让企业调度程序使用 Perl 脚本与旧的 Spring Batch Admin REST API 进行交互,以启动作业并轮询完成情况。
所以,是的,同样的技术应该适用于 XD。
您还可以点击工作事件。