2013-02-11 39 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

相关问题