title: How to ensure only one job fires at a time in Quartz.NET?
body: <p>I have a Windows Service that uses Quartz.NET to execute jobs that are scheduled.  I only want it to pick up a single job at a time.  However, occasionally I am seeing behavior that indicates that it has picked up two jobs at once.  </p>
  
  <p>There are two log files (the regular one and one automatically generated when the regular one is in use) with jobs that start at the exact same time.  I can see both jobs executing in the QRTZ_FIRED_TRIGGERS table, but only one has the correct instance ID, which is odd.  </p>
  
  <p>I have configured Quartz to use only a single thread.  Is this not how you tell it to only pick up a single job at a time?</p>
  
  <p>Here is my quartz.config file with sensitive values hashed out:</p>
  
  <pre><code>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
  </code></pre>