У меня Windows 2008 Server R2. Я использую планировщик задач для запуска задания в летнее время, когда часы движутся назад.
Задача запускает сценарий PHP, который обновляет поле базы данных (если поле равно 1, измените его на 0, если поле равно 0, затем измените его на единицу). Он используется как переключатель включения и выключения.
Цель задания - бежать в 1:59:59, чтобы включить выключатель. Часы вернутся к 1:00:00, а затем, когда они снова достигнут 1:59:59, он должен выключить переключатель.
В настоящий момент Задача не запускается, когда часы показывают 1:59:59 в первый раз, но запускается, когда часы показывают 1:59:59 во второй раз. Почему он игнорирует первый час и работает на втором?
Есть ли способ выполнить задачу дважды при переходе на летнее время?
Надеюсь, мой вопрос имеет смысл. Спасибо за прочтение.
Позвольте мне начать с того, что я не знаком с внутренним устройством Windows Server 2008.
Но когда задача запускается только один раз, когда ее запуск запланирован на 01:59 в день окончания летнего времени (DST), я ожидаю, что ваш планировщик (внутренне) преобразует метку времени в UTC, когда вы ее устанавливаете. Выполнение такого преобразования предотвратит повторное выполнение задания (или невозможность его выполнения по иным причинам) при изменении смещения местного времени на UTC.
Было бы интересно посмотреть, не будет ли после перехода на летнее время ваша ежедневная работа больше не запланирована на 01:59, а с этого момента будет выполняться в 00:59 или 02:59 по местному времени.
Если это так, может быть опция, которая заставит планировщик использовать местное время, а не UTC ...
Это вопросы и ответы может быть интересно.