- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们在集群环境中使用 quartz 调度程序(集群中的两个节点,指向单个 Oracle 数据库)。目前我们有两个作业,几乎每一个小时运行一次。
我们有一个单独的数据库架构用于 quartz 作业。我们注意到, quartz 每 15 秒检查一次数据库(clusterCheckinInterval 的默认值)。
我们不喜欢这样,希望减少它的频率。我们的想法是给出 1 分钟的频率,但大多数示例配置将 clusterCheckinInterval 指定为 20000。
有人可以为 clusterCheckinInterval 推荐一个合适的值吗?
来自 Quartz 文档:
org.quartz.jobStore.clusterCheckinInterval
Set the frequency (in milliseconds) at which this instance "checks-in"* with the other instances of the cluster. Affects the quickness of detecting failed instances.
最佳答案
在 Quartz 集群中,clusterCheckinInterval
告诉您集群对故障转移的响应程度(考虑 Quartz 作业)。间隔越小,您的应用程序响应速度越快。实际上这个值被集群节点用来检查是否有可恢复的作业在损坏的节点上运行。如果是,Quartz 会尝试重新运行它们。
一般来说,默认值就足够了,但您必须考虑作业的频率以及错过作业运行可能造成的影响。
如果您有许多必须每秒运行的作业,则必须将间隔设置为1000
(以毫秒为单位)。
如果您有每秒运行一次的作业,但始终运行它们并不重要,那么 5-15 秒就足够了(取决于系统的容错能力)。
如果您有每天运行几次的长达一小时的作业,您甚至可以将间隔提高到 60 秒。
我的意见是我不会将每分钟 20-30 个数据库请求视为“负载”,因此我会将其设置为 2 或 3 秒 (2000
或 3000
(以毫秒为单位)。
关于java - org.quartz.jobStore.clusterCheckinInterval 的推荐值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14953297/
有没有支持quartz集群的redis jobStore? 有没有人能够构建它? 另一方面,什么是 quartz 簇?我的意思是,它是否能够让两个服务运行指向 redis 的相同 quartz.pro
嗯,我是 Quartz 的新手,我正在关注 this tutorial 并且我配置了我的调度程序实例和 quartz 以使用此属性: properties["quartz.jobStore.lockH
我正在使用 quartz 2.2.1 和 mysql 进行作业存储,为了创建新作业,它会用旧作业数据覆盖 mysql 表中的表内容。没有错误。 这是我的代码: import org.quartz.Sc
考虑这段小代码 from apscheduler.scheduler import Scheduler import time class First(): def __init__(self
我们在集群环境中使用 quartz 调度程序(集群中的两个节点,指向单个 Oracle 数据库)。目前我们有两个作业,几乎每一个小时运行一次。 我们有一个单独的数据库架构用于 quartz 作业。我们
我正在使用 Spring Framework 在 Oracle DB 上实现 Quartz Job Store。我的 ApplicationContext.xml 在下面
我正在使用这个hazelcast quartz scheduler JobStore用于调度后台作业。我正在使用: quartz :2.2.3 Hazelcast:3.7.2(使用默认配置在 Dock
当向调度程序添加或删除作业时,Quartz 偶尔会抛出 JobPersistenceException(在前面的 SQLiteException 之后)。 看起来值得注意的事情: Quartz.NET
我正在 Spring 中使用 JDBC JobStore 实现 Quartz 调度程序。我有一个用例,如果我的应用程序崩溃,并且它有作业要在调度程序崩溃和重新启动之间的时间范围内执行。我的方法是在调度
我希望你们中的一个可爱的人能够帮助我解决这个问题,因为我已经花费了许多徒劳的时间试图让一切都变得美好! 我已经将问题追溯到类加载,并且能够看到当 Quartz 尝试从 jobStore (jobSto
我有工作人员使用 APScheduler 执行任务。它第一天运行完美,然后在尝试获取下一个作业时崩溃了。在出现此类异常后我可以做一些重试吗?或者更好地防止这种情况发生? 这是调度程序代码: __jbs
我第一次存储作业并使用 crontrigger 和以下代码安排它们。 package com.generalsentiment.test.quartz; import static org.quart
我正在尝试为我的 Quartz Scheduler 应用程序配置 JDBC 作业存储。我已经创建了表并在 application.proprties 中提供了配置。但默认 RAM 作业存储正在初始化。
我在集群模式下使用 Quartz 由于过度调用,我在 DB 级别存在一些行锁争用: org.quartz.jobStore.selectWithLockSQL "SELECT * FROM QRTZ_
我想在运行相同作业的触发器之间保留重试计数数据。 我尝试将其存储到 JobExectionContext.JobDetails.JobDataMap 中,这是一个 DirtyHashMap。它被存储,
我正在使用 Flask Sqlalchemy,并在启动调度程序时将 mysql 作为作业存储。但有时当我将作业添加到调度程序时,它会抛出“Mysql Server has gone away”错误,可
我正在使用带有 quartz 的 JDBC 作业存储,因为在集群环境中管理作业。以下是我使用 mysql 的 jdbc 配置: #===============================
我目前正在将 Quartz 升级到版本 2.2。因此,我必须对 JDBCJobstore 使用的表进行一些迁移。 对于表“qrtz_fired_triggers”,添加了具有非空约束的“sched_t
我正在尝试 Quartz 调度程序,并设法使用 Maven 让它与 Spring 一起工作。 我需要做的是配置 Quartz 来存储作业,以便在预定的时间内执行作业。据我所知,Quartz 中有两种类
我有一个使用 flask.ext.sqlalchemy 和 apscheduler.schedulers.background 的 Python Flask 应用程序。我创建了一个 JobStore
我是一名优秀的程序员,十分优秀!