【问题标题】:Quartz.NET Instance HandlingQuartz.NET 实例处理
【发布时间】:2011-02-02 19:45:21
【问题描述】:

我有 2 个实例,它们在 2 个不同的 Windows 服务中实现了 2 个不同的实例 ID:

//windows service 1 instance 1
properties["quartz.scheduler.instanceName"] = "instanceName1";
properties["quartz.scheduler.instanceId"] = "instanceID1";

//windows service 2 instance 2
properties["quartz.scheduler.instanceName"] = "instanceName2";
properties["quartz.scheduler.instanceId"] = "instanceID2";

在 ADOJobstore 中,我可以看到有两个实例。

但是,当我在实例 1 中安排一个简单的作业时,它会在实例 2 中被触发(反之亦然)。通过查看在 jobstore 中创建的记录,计划的作业被正确标记为预期的 instanceID。知道为什么会这样吗?

【问题讨论】:

    标签: quartz-scheduler quartz.net


    【解决方案1】:

    这是预期的行为。如果您有 2 个实例指向同一个商店,则任何一个实例都可以从中提取作业。基本上,您正在运行一个调度程序集群,并且 AFAIK 无法将作业限制为在一个特定服务器上运行。如果您希望作业在一台特定服务器上运行,则必须设置 2 个不同的作业存储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多