Обработка экземпляров Quartz.NET - PullRequest
1 голос
/ 31 марта 2010

У меня есть 2 экземпляра, которые реализуют 2 разных идентификатора экземпляра в 2 разных службах Windows как:

//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 я вижу, что есть два экземпляра.

Однако, когда я планирую простую работу в instance1, она запускается в instance2 (и наоборот). При просмотре записей, созданных в хранилище заданий, запланированное задание правильно помечается ожидаемыми экземплярами. Есть идеи, почему это происходит?

1 Ответ

3 голосов
/ 31 марта 2010

Это ожидаемое поведение. Если у вас есть 2 экземпляра, указывающие на одно и то же хранилище, любой из них может извлекать задания из него. В основном вы используете кластер планировщиков, и AFAIK не позволяет ограничить выполнение заданий одним конкретным сервером. Вам нужно будет настроить 2 разных хранилища заданий, если вы хотите, чтобы задания выполнялись на одном конкретном сервере.

...