我需要一个 Java 任务按计划运行,比如每天运行。有时还需要通过单击网页上的按钮来按需执行。
我想将我的业务逻辑编译到一个 jar 中,并将其放在我的 Jenkins 服务器可以到达的地方。然后配置一个 Jenkins 作业来按计划执行主类。为了支持按需执行,我可以创建一个 Jenkins 作业(用 php 或其他语言)来运行一次主类。
这是一种可怕的滥用吗?避免安装 Tomcat 和使用 Web 服务调用似乎是一种懒惰的黑客行为,但它允许我只需通过修改 Jenkins 作业来更改计划。考虑到我目前没有可用的 Tomcat 服务器,并且具有避免不必要的开销、复杂性和维护的显着优势。
最佳答案
一个稍微耗时但更高级的解决方案是:
说实话,几年前当我们寻找快速解决方法时,我们与 Jenkins 有着完全相同的想法。最后,我们设法为此分配了一些开发时间,因此我们使用了 Spring Batch。通过他们的管理网络应用程序使用起来很方便。如果您有时间编写一些代码,我建议您检查一下。该解决方案对我们非常有效,因为:
- 高级重试功能
- 工作经历
- 定期运行+手动执行选项
- 能够恢复失败的执行
- 能够保留作业数据
- 易于配置故障转移
关于java - 这是对 Jenkins 的严重滥用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31476001/