【问题标题】:scheduling jobs to clustered quartz1.8.6 from non-cluster configured quartz scheduler instance从非集群配置的石英调度程序实例将作业调度到集群石英1.8.6
【发布时间】:2017-01-31 12:35:22
【问题描述】:

我在集群模式下使用 4 个实例的石英 1.8.6。现在,我观察到表 QRTZ_LOCKS 的争用很高。我的应用程序还为在线客户提供网络服务。该网络服务还可以安排新作业。现在,我在这些 web 服务上看到了超时异常,因为当他们想要安排新作业时,他们等待太久才能获得 QRTZ_LOCKS 表上的锁定。对我来说,为 web 服务建立 100% 可靠的操作很重要(比石英作业操作更重要)。是否可以仅在 1 个实例上启动石英作业运行程序,而其他 3 个实例配置为 org.quartz.jobStore.isClustered=false 以允许它们执行调度而不锁定 QRTZ_LOCKS?

更新:实际上,如果我打算只使用作业运行器运行一个实例,而所有其他实例只允许添加新作业,那么这将不再是一个集群。所以,实际的问题是:是否可以为所有 4 个实例配置 org.quartz.jobStore.isClustered=false,只让 1 个实例运行作业,但允许所有 4 个实例将新作业调度到同一个 jdbc 存储?

【问题讨论】:

    标签: jdbc locking mixing contention quartz


    【解决方案1】:

    尝试打开批处理模式,并将最大批处理计数设置为可用于石英调度程序的线程数。

    http://www.ebaytechblog.com/2016/01/14/performance-tuning-on-quartz-scheduler/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      相关资源
      最近更新 更多