仅用一个线程配置Quartz.net或按顺序制作线程

时间:2018-12-02 11:18:53

标签: c# .net quartz-scheduler quartz.net

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

1 个答案:

答案 0 :(得分:5)

您可以在工作中使用DisallowConcurrentExecution属性。该属性保证下一次执行直到当前执行完成后才开始。

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

要按顺序制作线程-我认为您的意思是说作业一旦完成就立即执行-您可以使用以下两种情况之一:

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

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

两者都可以。