如何设置石英触发器的优先级?

时间:2011-08-04 12:37:20

标签: quartz-scheduler scheduler

我正在使用Quartz Scheduler,有15个工作。每个工作都有一个触发器。 我想为每个触发器设置优先级。我可以将低优先级设置为10,将高优先级设置为1。 但是,由于我有15个触发15个触发器,因此每个触发器需要不同的优先级。 例如,trigger1将具有优先级10,trigger2将具有优先级9。 通过这种方式,我需要为两个触发器提供相同的优先级。

因此,如果两个具有相同优先级的触发器将同时执行,那么哪个触发器将首先执行?

有谁能告诉我如何为不同的触发器设置不同的优先级?

2 个答案:

答案 0 :(得分:5)

触发器有一个名为WithPriority的属性,它取一个整数值。当同时触发多个触发器时,调度程序将首先触发具有最高优先级的触发器。如果两个触发器具有相同的优先级,那么任何一个触发器都会被触发。

  • .WithPriority(15)将首先运行
  • .WithPriority(1)将是最后一次触发

答案 1 :(得分:4)

触发器具有'优先级'属性。只需在创建触发器时相应地设置属性,或使用api检索触发器,设置优先级并重新安排它们。

如果两个或多个触发器具有相同的触发时间和相同的优先级,则将首先随机选择一个触发器(排序还可以基于什么?)。