集群

集群目前仅适用于 AdoJobstore (JobStoreTX)。 功能包括负载均衡和作业故障转移(如果 JobDetail 的“请求恢复”标志设置为 true)。

通过将 quartz.jobStore.clustered 属性设置为“true”来启用集群。 集群中的每个实例都应该使用相同的 quartz 属性副本。 例外情况是使用相同的属性,但允许的例外情况如下:不同的线程池大小,以及 quartz.scheduler.instanceId 属性的不同值。 集群中的每个节点都必须有一个唯一的 instanceId,这很容易通过将 AUTO 作为该属性的值来完成(不需要不同的属性文件)。

警告

永远不要在单独的机器上运行集群,除非它们的时钟使用某种形式的时间同步服务(守护程序)进行同步,这种服务非常有规律地运行(时钟必须在一秒内)。 如果您不熟悉如何执行此操作,请参阅 https://www.nist.gov/pml/time-and-frequency-division/services/internet-time-service-its

警告

永远不要针对任何其他实例正在运行 (Start()ed) 的同一组数据库表启动 (scheduler.Start()) 非集群实例。 您可能会遇到严重的数据损坏,并且肯定会遇到不稳定的行为。

警告

监控并确保您的节点有足够的 CPU 资源来完成作业。 当某些节点处于 100% CPU 时,它们可能无法更新作业存储,而其他节点可以认为这些作业丢失并通过重新运行来恢复它们。