2

我有 4 个 Quartz Server 实例。所有实例都指向一个 ADO JobStore。我要做的就是让每个 Quartz 实例同时执行相同的作业。

我希望它足够清楚。

4

2 回答 2

2

开箱即用不支持此功能。每当触发器触发时,它只能被一个实例消耗。您可以触发 4 个触发器,但不能保证该作业不会在一个实例上运行两次。

如果您希望每个实例触发一次作业,则必须设置 4 个单独的作业存储。

于 2010-07-13T02:08:14.563 回答
0

我所做的(在 Quartz.NET 2.4.1 中)是我有多个相同的调度程序实例,它们仅在调度程序实例名称 ( quartz.scheduler.instanceName) 上有所不同。他们注册相同的作业和触发器。由于不同的调度程序实例名称,作业和触发器在作业存储中重复(调度程序名称是每个表中主键的一部分JobStoreTX)。这会导致逻辑上相同的触发器同时在所有调度程序实例上触发。但是,它们实际上是单独的触发器,因此每个触发器都会单独处理失火等。

于 2017-02-03T13:03:58.603 回答