问题描述
我们有一些 spring-batch 作业由 autosys 触发,shell 脚本作为短期进程。
现在无法查看 spring-batch 过程中发生的事情,所以我正在探索查看状态和管理(停止)作业的方法。
Spring Cloud Data Flow 是我正在探索的选项之一 - 但似乎在使用 Autosys 安排作业时可能不起作用。
在这方面我可以探索哪些其他选项?现在推荐的管理 spring-batch 作业的方法是什么?
解决方法
要停止作业,首先需要获取要停止的作业执行的 ID。这可以使用 JobExplorer
API 来完成,该 API 允许您探索 Spring Batch 在作业存储库中知道的元数据。获得作业执行 ID 后,您可以通过调用 JobOperator#stop
方法停止它,请参阅参考文档的 Stopping a job 部分。
这独立于您用来启动作业的任何方法(手动,或通过调度程序或图形工具),并允许您优雅地停止作业并使存储库保持一致状态(准备好重新启动,如果需要)。