gpt4 book ai didi

quartz-scheduler - Quartz.net调度器数据库噪声查询

转载 作者:行者123 更新时间:2023-12-01 23:55:21 30 4
gpt4 key购买 nike

全部,

我们配置了一个 Quartz.net 调度器。其配置如下:

<add key="quartz.scheduler.instanceId" value="Some_Id" />
<add key="quartz.scheduler.instanceName" value="Some_Name" />
<add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.dataSource" value="default" />
<add key="quartz.dataSource.default.connectionString" value="Some_ConString" />
<add key="quartz.dataSource.default.provider" value="SqlServer-20" />

在分析数据库时,我们注意到以下流量每 23-27 秒执行一次:

exec sp_executesql N'SELECT TRIGGER_NAME, TRIGGER_GROUP, NEXT_FIRE_TIME, PRIORITY FROM QRTZ_TRIGGERS WHERE SCHED_NAME = ''Some_Name'' AND TRIGGER_STATE = @state AND NEXT_FIRE_TIME <= @noLaterThan AND (MISFIRE_INSTR = -1 OR (MISFIRE_INSTR <> -1 AND NEXT_FIRE_TIME >= @noEarlierThan)) ORDER BY NEXT_FIRE_TIME ASC, PRIORITY DESC',N'@state nvarchar(7),@noLaterThan bigint,@noEarlierThan bigint',@state=N'WAITING',@noLaterThan=635374746823951132,@noEarlierThan=635374745923951132

以下流量每分钟执行一次:

exec sp_executesql N'SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE SCHED_NAME = ''Some_Name'' AND MISFIRE_INSTR <> -1 AND NEXT_FIRE_TIME < @nextFireTime AND TRIGGER_STATE = @state1',N'@nextFireTime bigint,@state1 nvarchar(7)',@nextFireTime=635374746017864938,@state1=N'WAITING'

谁能解释一下这个轮询检查的内容?这些默认设置是因为我们没有适当的配置来扫描数据库中的更新吗?

最佳答案

第一个语句是 quartz 服务器轮询数据库以查找将被触发且不受任何 misfire policies 约束的触发器。

回复:第二个陈述,这里是直接来自 Quartz.net source code 的方法注释:

            // Before we make the potentially expensive call to acquire the 
// trigger lock, peek ahead to see if it is likely we would find
// misfired triggers requiring recovery.

所以这是 quartz 检查自上次检查以来是否有任何触发器失灵,因此它可以恢复它们。

这是直接写入引擎的默认行为,但是您可以使用配置文件中的此项控制第二条语句的频率。

 <add key="quartz.jobStore.misfireThreshold" value="60000" />

关于quartz-scheduler - Quartz.net调度器数据库噪声查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035455/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com