gpt4 book ai didi

grails - 禁用特定服务器的 quartz 作业

转载 作者:行者123 更新时间:2023-12-02 14:45:11 25 4
gpt4 key购买 nike

我们的应用程序已部署到2个Web服务器,以实现负载平衡和冗余。我们有一些每天运行一次的Quartz作业。作业仅需要在其中一台Web服务器上执行,而无需在两个服务器上执行。最终,我们可能会将这些作业移到作业服务器上,但是目前,是否可以通过config或environment variable或我可以执行的某种方式使作业仅在我的一台服务器上运行?

最佳答案

QuartzConfig.groovy中,您可以为特定环境启用或禁用Quartz插件。

environments {
runQuartz {
autoStartup = true
}
dontRunQuartz {
autoStartup = false
}
}

因此一种方法是在Tomcat启动参数中使用 -Dgrails.env=runQuartz-Dgrails.env=dontRunQuartz

一个可怕的破解方法是让您的Quartz Job尝试锁定共享数据库表-获得锁定的作业可以运行,否则将中止。

我认为第三个选择是使用JDBC作业存储,尽管我没有使用它的经验。在 Quartz plugin docs中简要提到。

关于grails - 禁用特定服务器的 quartz 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13461226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com