Quartz .NET 2.x 我可以用不同的线程池配置调度程序吗
Quartz .NET 2.x can I configure scheduler with different thread pools
我是 Quartz .NET 的新手。我正在使用 2.6 版。
我有两种工作,低优先级和高优先级。我只想要一个线程池来处理高优先级的工作。
有没有办法配置调度程序来处理这个问题?
谢谢
I'd want a thread pool only for high priority job.
ThreadPool 提供了一组Threads 供Quartz 在执行Jobs 时使用。当有新作业时,应该在quartz线程池的线程中执行,这个线程只能来自quartz线程池。
你可能有多少个线程池:每个Quartz调度器实例只允许你创建一个线程池,这个调度器实例中的所有作业都将在这个池中运行。
因此您可以创建许多 Quartz 调度程序实例,从而分离您的作业。
注意:线程池大小、线程系统优先级和池实现可以是 modified/replaced. To provide own implementation, you need a class derived from IThreadPool
interface
/// Execute the given <see cref="Task" /> in the next
/// available <see cref="Thread" />.
bool RunInThread(Func<Task> runnable);
来自 docs:Quartz 带有一个简单的(但非常令人满意)线程池,名为 Quartz.Simpl.SimpleThreadPool
。这个 IThreadPool
实现只是在其池中维护一组固定的线程——永不增长,永不收缩。但它在其他方面非常健壮并且经过了很好的测试——因为几乎每个使用 Quartz 的人都使用这个池。
我是 Quartz .NET 的新手。我正在使用 2.6 版。 我有两种工作,低优先级和高优先级。我只想要一个线程池来处理高优先级的工作。 有没有办法配置调度程序来处理这个问题?
谢谢
I'd want a thread pool only for high priority job.
ThreadPool 提供了一组Threads 供Quartz 在执行Jobs 时使用。当有新作业时,应该在quartz线程池的线程中执行,这个线程只能来自quartz线程池。
你可能有多少个线程池:每个Quartz调度器实例只允许你创建一个线程池,这个调度器实例中的所有作业都将在这个池中运行。
因此您可以创建许多 Quartz 调度程序实例,从而分离您的作业。
注意:线程池大小、线程系统优先级和池实现可以是 modified/replaced. To provide own implementation, you need a class derived from IThreadPool
interface
/// Execute the given <see cref="Task" /> in the next
/// available <see cref="Thread" />.
bool RunInThread(Func<Task> runnable);
来自 docs:Quartz 带有一个简单的(但非常令人满意)线程池,名为 Quartz.Simpl.SimpleThreadPool
。这个 IThreadPool
实现只是在其池中维护一组固定的线程——永不增长,永不收缩。但它在其他方面非常健壮并且经过了很好的测试——因为几乎每个使用 Quartz 的人都使用这个池。