Quartz 是否支持在多个节点上执行一次?

Does Quartz support execute once on multiple node?

在我的场景中,Quartz 将 运行 嵌入我的 Web 应用程序中,该应用程序将部署在两个节点上。我可以安排一个任务并让它在两个节点上只执行一次吗? DisallowConcurrentExecution 注释是否用于此目的?

例如,如果我安排一个每小时触发器的任务,那么一天中任务在两个节点上的总执行次数是否可以是 24 而不是 48?

您可以将 quartz 设置为集群 mode.The 主要要求是您的服务实例应共享同一个数据库,因为 quartz 基于数据库进行集群。 如果您在您的案例中使用集群机制,那么 24 个作业将是 executed.These 是您必须使用的一些属性。

org.quartz.scheduler.instanceName = MyClusteredScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval=20000

参考文档在 http://www.quartz-scheduler.org/documentation/quartz-1.8.6/configuration/ConfigJDBCJobStoreClustering.html