2011-08-04 25 views
3

我正在使用Quartz Scheduler,並且有15個工作。每個工作都有一個觸發器。 我想爲每個觸發器設置優先級。我可以將低優先級設置爲10,並將高優先級設置爲1. 但是,因爲我對15個作業有15個觸發器,所以每個觸發器都需要不同的優先級。 例如trigger1的優先級爲10,trigger2的優先級爲9. 這樣我需要給兩個觸發器賦予相同的優先級。如何設置石英觸發器的優先級?

因此,如果具有相同優先級的兩個觸發器將同時執行,那麼哪個觸發器將首先執行?

誰能告訴我如何爲不同的觸發器設置不同的優先級?

回答

3

觸發器對它們有'優先'屬性。只需在創建觸發器時相應地設置屬性,或者使用api檢索觸發器,設置優先級並重新安排它們。

如果兩個或兩個以上的觸發器具有相同的着火時間和相同的優先級,那麼將首先隨機選擇一個觸發器(排序基於什麼?)。

3

觸發器具有一個名爲WithPriority的屬性,它具有整數值。當多個觸發器同時觸發時,調度器將首先觸發具有最高優先級的觸發器。如果兩個觸發器具有相同的優先級,則任何一個觸發器都會被觸發。

  • .WithPriority(15)會跑第一
  • .WithPriority(1)將是最後一次觸發