【发布时间】:2014-11-03 17:19:29
【问题描述】:
我有一个实现 Job 的“Applier”类。 表示“Applier”类是 Quartz Job 的实例之一。
我的要求是控制一次执行的“Applier”实例的数量。 意味着我想限制,比如一次最多执行 5 个“Applier”实例。 如果“Applier”的第 6 个实例来了,并且 5 个实例已经在执行,那么它必须等到“Applier”的一个实例完成。
Quartz 调度器中是否有任何等待/通知类型机制。意味着如果作业的第 6 个实例尝试运行并且已经执行的 5 个实例比第 6 个实例必须等待并在 5 个实例执行完成后通知。
意味着我想为 Job 的特定实例实现一些 ThreadPool 类型的机制。 我不希望 Quartz Scheduler 级别的 ThreadPool Like mechanisum b'coz 它已经由 Quartz Scheduler 提供。
【问题讨论】:
-
我的案例是多个石英作业作业到单个作业(石英类)的情况。 JOB(Quartz Job) -> Job(Quartz class) 多对一 我已将所有“Applier”类放在同一个组中。我也将触发器放在同一组中。我尝试使用 JobListner 进行控制,但 Quartz 的“调度程序”类的“pauseJob”不适用于仅安排 1 次执行的 JOB。我找不到任何可以“暂停”执行特定组的机制。我也检查了“JobFactory”,但在我的情况下也没有用。
标签: quartz-scheduler quartz.net