Почему планировщик задач Windows пытается запустить несколько экземпляров?

9

У нас есть ряд запланированных задач Windows, которые выполняются на одном веб-сервере Server 2008 (не R2), который находится в кластере.

Недавно мы перешли от исходного кластера веб-серверов к новому веб-серверу Cluser (Server 2008 - не R2).

Новый веб-сервер (в кластере), на котором выполняются задачи Windows, настроен так же, как и на оригинальном, как мы полагаем.

НО мы теперь обнаруживаем, что на новом Windows Server планировщик задач Windows, похоже, хочет сразу запустить каждую задачу три раза.

Если мы установим опцию для постановки в очередь новой задачи, мы получим:

Идентификатор события 324. Планировщик задач помещает в очередь экземпляр "{9a1a8411-b042-45ff-8e6b-89874df230d7}" задачи "\ Client Reporting" и запускает его, как только экземпляр "{2bcc3df6-ea3b-4453-90c2-75b8b1946388}" завершается.

Если мы установим опцию, чтобы остановить существующую задачу, мы получим:

Событие с кодом 323 Планировщик задач остановил экземпляр "{e685a910-b32b-414e-85fd-96bbe54314a2}" задачи "\ Client Reporting" для запуска нового экземпляра "{4db66265-1f51-4ede-8535-ac7c3cb5c4c1}".

Отмеченные настройки:

  • Разрешить выполнение задачи по требованию.

  • Запустите задачу как можно скорее после того, как запланированный запуск пропущен.

  • Остановите задачу, если она выполняется дольше 1 часа.

  • Если запущенное задание не заканчивается по запросу, принудительно остановите его.

  • Запускайте задачу, только если компьютер подключен к сети переменного тока.

  • Остановите задачу, если компьютер переключается на питание от батареи.

Выбранный вариант: если задача уже запущена - остановить существующий экземпляр.

Примечание. Мы переместили задачи с одного сервера на другой в кластере, чтобы проверить, не является ли это планировщиком задач на конкретном сервере, который мы выбрали, вызвавшим проблему. Такое же поведение

Может быть, это связано со сборкой новых серверов?

У нас есть очень похожие задачи, настроенные на другом кластере серверов, которые работают нормально без всего этого многократного запуска. Сравнивая эти задачи с теми, что здесь - кажется, нет ничего явно отличного с точки зрения настроек, доступных нам через опции в Планировщике задач.

Триггер. Задание планируется запускать ежедневно, раз в час, и останавливать, если оно превышает это время.

Действие: Запускает файл .bat.

Что может быть причиной этого / где мы можем посмотреть, какая логика заставляет задачи запускаться несколько раз таким образом?

Пол Х
источник
Что установлено для запуска задачи?
Барт Сильверстрим

Ответы:

3

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

Существует исправление, доступное от Microsoft. Исправление говорит, что это для Vista, но оно работает на Server 2008 SP2. После применения исправления необходимо отключить, а затем снова включить триггер в своей задаче (между окнами свойств триггера закрыть, чтобы применить изменения), чтобы избавиться от дубликатов.

Коллин К
источник
1
Ссылка прервана по состоянию на июнь 2017 года, поиск в КБ дает новую ссылку: дублирующие триггеры неправильно генерируются в запланированных задачах в Windows Vista или в Windows Server 2008
Адам Демпси
Я сталкиваюсь с подобной проблемой в Windows Server 2016, где я вижу, что задача запущена и выполняется правильно + несколько десятков попыток запустить снова. К сожалению, все вышеперечисленные ссылки не работают. Он правильно настроен и будет запускаться только один раз с заданным интервалом, но он также заполняет историю предупреждениями. Любая идея, если Windows Server 2016 имеет аналогичную проблему и исправить? Спасибо.
Алексей
1

Нам удалось остановить планировщик задач Windows, запускающий несколько процессов, отметив опцию «Если задача не удалась, перезапустите каждые:» со значениями по умолчанию «1 минута» и «Попытка перезапустить до: 3 раза».

Это казалось нелогичным, как

  1. задачи, по-видимому, не срабатывают (выполняемые ими действия выполнялись несколько раз)

и 2. задачи, казалось, уже решили начать трижды.

Кроме того - у нас есть те же самые задачи, настроенные на тестовых веб-серверах, и нам не нужно было отмечать эту опцию.

Пол Х
источник
0

По какой-то причине я не могу добавить комментарий к вашему ответу, однако, скорее всего, он «не удался», поскольку задача возвращает код завершения, отличный от 0. Вы можете исправить это, запланировав запуск сценария вместо фактического процесса задачи. Вы бы заставили скрипт выполнить фактический процесс задачи, а после его завершения проверить код завершения процесса по списку известных кодов успеха. Если это успешно, сделайте сценарий выхода с кодом 0, и если это не было успешно, передайте код завершения сбоя. Таким образом, вы по-прежнему сохраняете возможность планировщика задач перезапускать задачу в случае, если она действительно не удалась.

К сожалению, это не редкость для процессов, которые успешно выполняются для возврата кодов выхода, отличных от 0. Вам необходимо проверить документацию (или спросить разработчика) о том, что представляют собой различные коды выхода.

Matt
источник
Необходимо 50 представителей, чтобы комментировать вопросы и ответы других ...
EEAA
Спасибо ЕЕАА. И в продолжение моего поста кажется, что Pual готов запустить пакетный скрипт. Не зная, что находится в его сценарии и какой код завершения он возвращает, трудно сказать, почему он возвращает код, отличный от 0, но мой комментарий / ответ все равно должен быть верным, планировщик задач предполагает, что он вернет код завершения 0 когда это не так.
Мэтт
0

Я столкнулся с этой проблемой на WinServer2008 R2 пару месяцев назад. Я пробовал много решений, но ничего не решило проблему.

кажется, что решение этой проблемы решается следующим образом: В приложении планировщика заданий: выберите задачу: затем в правом меню нажмите «Завершить», она спросит вас: «Вы хотите завершить все экземпляры этой задачи?» нажмите «Да».

Я надеюсь, что это решит вашу проблему.

Ahmad.Net
источник
-1

Та же самая проблема возникала здесь, когда любая задача попадает в очередь, поэтому просмотрела все запущенные задачи или завершила их в очереди и перезапустила сервер, это было исправлено.

Джек
источник