仅使用一个线程配置 Quartz.net 或按顺序创建线程

Config Quartz.net with just one thread or make threads Sequentially

我的服务中有一项业务,我不知道线程完成其工作需要多长时间,因此我无法设置准确的时间间隔。或者以另一种方式,我想知道如何设置一个线程在前一个线程完成其工作后启动。

您可以在作业中使用 DisallowConcurrentExecution 属性。该属性保证在当前执行完成之前不会开始下一次执行。

[DisallowConcurrentExecution]
public class MyJob : IJob {
    // whatever your job is
}

为了顺序创建线程——我认为你的意思是作业一旦完成就立即执行——你可以使用以下场景之一:

  1. 设置您的作业 RepeatForEver 并将间隔设置为非常低的数字,例如10 毫秒

  2. 将作业的重复设置为一次,完成后,安排一个新的(相同的)作业

两者都可以。