org.quartz.jobStore.clusterCheckinInterval的建议值

时间:2013-02-19 08:50:13

标签: java spring quartz-scheduler

我们在集群环境中使用石英调度程序(集群中的两个节点,指向单个Oracle数据库)。目前我们有两个职位,每隔一小时运行一次。

我们为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.

1 个答案:

答案 0 :(得分:15)

在Quartz集群中,clusterCheckinInterval告诉您的集群对故障转移负责(考虑Quartz作业)。间隔越小,应用程序响应的速度就越快。实际上,群集节点使用此值来检查是否存在在已损坏节点上运行的可恢复作业。如果是,Quartz会尝试重新运行它们。

通常,默认值足够好,但您必须考虑作业的频率以及错过的作业运行可能导致的影响。

如果您有许多必须每秒运行的作业,则必须将间隔设置为1000(以毫秒为单位)。

如果你的作业每秒运行一次,但是一直运行它们并不重要,那么5-15秒就足够了(取决于系统的容错能力)。

如果你有一个小时的跑步工作,每天跑几次,你可以将间隔提高到60秒。

我的意见是我不会将每分钟20-30个数据库请求视为"加载" ,所以我会将其设置为2或3秒({{1毫米或2000 in millisec。)