Назад | Перейти на главную страницу

Расписание запланированных задач Windows Server 2016 должно быть в будущем

У нас есть сервер 2012 года, на котором есть около 20 запланированных задач, которые используются для мониторинга. Мы создали сервер 2016 года, чтобы заменить его, и когда я перемещаю задачи на новый сервер, я столкнулся с проблемой. Большинство наших задач выполняется каждые несколько минут.

В Server 2012 мы бы запланировали запуск задачи в 12.00 текущего дня (то есть время в прошлом) и повторение каждые X минут. Задача начнется в следующее запланированное время. Отлично.

В Server 2016 расписания, которые начинались в прошлом, не выполняются. Поэтому нам пришлось запланировать его запуск в будущем. Это нормально, пока вы не перезагрузитесь. Теперь время запуска в прошлом, и он не будет работать. Он даже не регистрирует неудачный запуск. Столбец Next Run Time показывает, что он должен работать, но не работает.

Помимо создания двух триггеров, один из которых запускается в будущем, а другой - при перезагрузке (чего мы не хотим делать, поскольку некоторые задачи должны выполняться только в определенное время), есть ли лучший способ? Похоже, это ошибка. Версия 2012 года работала отлично.

ОБНОВИТЬ

Для этого есть обходной путь. Создайте одноразовое расписание, которое работает бессрочно. Это работает после перезапуска, как и следовало ожидать. Я знаю, что это не очень хорошо для «странных» расписаний, но отлично подходит для вещей, которые мы хотим запускать каждые 3 минуты или что-то еще.

К вашему сведению - я подтвердил в Microsoft через тикет поддержки, который я открыл вчера, что это ошибка. Служба поддержки подтвердила, что это внутренне классифицировано как ошибка, и в настоящее время разрабатывается патч. Мне была назначена дата выхода патча июль / август.

Это влияет как на Windows 10, так и на Server 2016. Мои тестовые системы были исправлены до вчерашнего накопительного обновления. Проблема не возникала в Server 2012 R2 и Windows 7.

РЕДАКТИРОВАТЬ - Возможно, по состоянию на август, но определенно в сентябре 2017 года, эта проблема исправлена ​​в системах, на которых я ее тестировал.

Эта проблема влияет только на задачи с Repeat task every: ... набор опций.

До сих пор у меня создалось впечатление, что trigger at X, then repeat every 10 minutes это просто излишне сложный способ написать trigger at every xx:x0 в Планировщике заданий.

Судя по всему, это не так. Видимо, это означает именно то, что написано: задача запускается в X а потом, и только тогда это повторяется. Ни начального триггера, ни повтора. Мне кажется, что нет простого способа расписать trigger at every xx:x0 в Планировщике заданий (или есть? Это может стать хорошим отдельным вопросом Serverfault.) Тот факт, что столбец «Время следующего выполнения» показывает что-то другое, не очень помогает.

Мы «решаем» эту проблему, планируя запуск задачи на 12:00. каждый день (вместо одного дня), а затем повторять каждый ... минут на 1 день. Это означает, что если произойдет перезагрузка, в 12:00 задачи возобновятся. Это не идеально, но здесь приемлемый компромисс.

Я предполагаю, что вы могли бы снизить «время простоя задачи» до 1 часа, создав один триггер на каждый час, а затем повторяя задачу каждый раз. ... минут на 1 час.

Удивительно, но похоже, что так было всегда (см. Первый комментарий на этот ответ), которого мы до сих пор не замечали. Согласно другим комментариям связанного ответа, канонический способ решить эту проблему - активировать Run task as soon as possible after a scheduled start is missed вариант.

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

1. Windows 2016 Server обязательно потребует следующие параметры в вашей работе:

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

Я отметил эти варианты на скриншоте

2. Добавьте дополнительный триггер. Такие как:

  • При создании или редактировании задачи
  • Когда ты начнешь

и т. д. в смысле: чтобы переместить задачу, чтобы начать в желаемое время

3. В некоторых задачах в Windows 2016 - реализован такой подход.