【发布时间】:2014-03-10 16:57:46
【问题描述】:
我有一个使用 Quartz.NET 执行计划作业的 Windows 服务。我只希望它一次接一份工作。但是,有时我会看到表明它同时获得了两个工作的行为。
有两个日志文件(一个常规文件和一个在使用常规文件时自动生成),其中的作业在完全相同的时间开始。我可以在 QRTZ_FIRED_TRIGGERS 表中看到两个作业都在执行,但只有一个具有正确的实例 ID,这很奇怪。
我已将 Quartz 配置为仅使用单个线程。这不是你告诉它一次只接一份工作的方式吗?
这是我的 quartz.config 文件,其中包含敏感值:
quartz.scheduler.instanceName = DefaultQuartzJobScheduler
quartz.scheduler.instanceId = ######################
quartz.jobstore.clustered = true
quartz.jobstore.clusterCheckinInterval = 15000
quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
quartz.jobStore.useProperties = false
quartz.jobStore.type = Quartz.Impl.AdoJobStore.JobStoreTX, Quartz
quartz.jobStore.driverDelegateType = Quartz.Impl.AdoJobStore.OracleDelegate, Quartz
quartz.jobStore.tablePrefix = QRTZ_
quartz.jobStore.lockHandler.type = Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz
quartz.jobStore.misfireThreshold = 60000
quartz.jobStore.dataSource = default
quartz.dataSource.default.connectionString = ######################
quartz.dataSource.default.provider = OracleClient-20
# Customizable values per Node
quartz.threadPool.threadCount = 1
quartz.threadPool.threadPriority = Normal
【问题讨论】:
标签: quartz-scheduler quartz.net