首页 > 解决方案 > 从 Linux 终端启动 Spring Scheduled 作业

问题描述

我有一个案例,我想从 Linux 终端启动 Spring Scheduled 作业。有什么方法可以从终端触发它吗?

例如,我可以使用 Spring Shell 来启动 Scheduled 作业吗?

标签: springspring-bootspring-shell

解决方案


我可以使用 Spring Shell 启动计划作业吗?

是的,理论上你可以(你可以在这里看到一个简单的例子),但如果涉及应用程序服务器,我不确定它是否适合你的用例——在运行的 shell 进程之外调用 spring shell 命令更复杂。

我会考虑将启动/停止功能作为 REST api 公开给 Spring Scheduled Jobs。您仍然可以使用 curl 从命令行执行它,并且可以围绕 spring-security 实现一些身份验证协议(如果不需要,也可以不实现)。

只需使用控制器方法包装您的启动/停止方法并将它们公开为 REST api。


推荐阅读