2013-02-11 44 views
0

是否安全運行quartz.net調度程序的多個實例? 如果是這樣,我該怎麼做?如何創建Quartz.Net調度程序的多個實例?

+1

你能解釋一下需要多種場景的場景嗎?如果您想通過一個調度程序提供作業並在另一個調度程序中運行作業,則可以創建調度程序以使用屬性; – Krishna 2013-02-11 17:35:34

+1

我需要在一個線程上按順序運行一些作業。具有1個線程和另一個具有常規線程池的調度程序將解決我的問題。 – 2013-02-11 17:55:33

回答

0

您可以使用quartz_jobs.xml來配置作業並創建StatefulJobs並使用作業鏈在一個線程調度程序(指向RAMJobStore)中按順序運行作業;指向數據存儲另一個調度可以同時運行 http://quartz-scheduler.org/documentation/faq#FAQ-chain

如果你需要堅持所有作業單一的數據庫,你可以使用2個調度與集羣,但你不會得到選擇哪個作業運行在其上的調度,所以你作業將按順序運行,但可能無法在單線程調度程序上運行。如果有2個不同前綴的石英錶組不是問題,那麼可以運行2個調度程序。 http://quartz-scheduler.org/documentation/quartz-1.x/cookbook/MultipleSchedulers

+0

您可以使用配置指向帶有某些前綴的石英錶的單線程調度程序,使用配置 Krishna 2013-02-11 19:33:19

+0

我應該只需要兩個調度程序的一個配置文件。它們因池中的線程數而不同。我不想創建兩個單獨的配置文件,因爲兩者之間的未來同步將是一場噩夢。我沒有使用數據庫存儲。我如何實現這一目標?可以在代碼中設置 – 2013-02-11 20:28:45

+0

屬性; NameValueCollection scheduler1Properties = new NameValueCollection(); properties [「quartz.scheduler.instanceName」] =「SingleThreadScheduler」; properties [「quartz.threadPool.type」] =「Quartz.Simpl.SimpleThreadPool,Quartz」; properties [「quartz.threadPool.threadCount」] =「1」; – Krishna 2013-02-11 20:33:32

相關問題