У нас есть ряд запланированных задач 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.

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

answer

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

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

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

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

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

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

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

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

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

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

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

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

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