Особенности работы с «Планировщиком задач» от Windows.
Задача: Запускать HumanEmulator с определенным скриптом каждые 5 минут.
Исходные данные:
Путь к exe файлу HumanEmulator :
C:\XWeb\Human Emulator Advanced 4.9.26\XWeb Human Emulator MT UE.exe
Путь к файлу скрипта:
C:\XWeb\Human Emulator Advanced 4.9.26\My Scripts\44bu\44bu.php
Дополнительные условия:
Порт для запуска: 7010
Состояние окна: при запуске сразу сворачивать в трей
Решение:
1. Запустить приложение «Планировщик заданий»
В панели пуск в поиске набираем текст «Планировщик заданий»
2. Создать новую задачу
В правой панели программы нажимает на позицию в меню: «Создать задачу…»
Заполняем поле «Имя задачи» и ставим галочку «Выполнить с наивысшими правами»
Жмем OK
3. Создать триггер
Переходим на таб «Триггеры» , жмем кнопку «Создать».
4. Настроить триггер
Выбираем опции
«Ежедневно», «Включено», «Повторять каждый 1 день», «Повторять задачу каждые» 5 мин.»
Жмем OK
5. Создать действие
Переходим на таб «Действия» , жмем кнопку «Создать».
6. Настроить действие
Выбираем опцию «Запуск программы»
Жмем кнопку «Обзор» и выбираем exe файл HumanEmulator в нашем случае
«C:\XWeb\Human Emulator Advanced 4.9.26\XWeb Human Emulator MT UE.exe»
Значение аргументов «Добавить аргументы»:
/script:»C:\XWeb\Human Emulator Advanced 4.9.26\My Scripts\44bu\44bu.php» /port:»7010″ /in_tray:»true»
Дополнительная информация о аргументах .
Жмем OK
7. Настроить «Параметры»
Снять галки на позициях:
«Останавливать задачу, исполняемую дольше:», «Принудительная остановка программы, если она не прекращается по запросу».
Выбрать опцию : «Не запускать новый экземпляр»
Жмем OK
Готово!
Важно:
1. Особенность работы в том , что экземпляр приложения должен быть запущен именно автоматически (Планировщиком).
Если приложение HumanEmulator уже запущено (вручную), то появится сообщение об ошибке (порт уже используется).
Код скрипта должен содержать в результате выполнения (последняя инструкция скрипта) операцию выгрузки приложения HumanEmulator $app->exitapp();
2. Дополнительно в табе «Журнал» можно проконтролировать возможные ошибки.
Порядок работы по командам от планировщика:
1. Первый Запуск
Первый запуск и работа скрипта HumanEmulator по команде от планировщика
2. Периодический запуск
а) Опция в настройках «Принудительная остановка программы, если она не прекращается по запросу» отключена и «Останавливать задачу, выполняемую дольше» отключена
Если Планировщик должен по расписанию запустить HumanEmulator, а он еще работает (в процессе работы), то запуск произведен не будет (запущен).
Если скрипт остановлен (кнопка stop или произошел сбой в работе скрипта), то запуск произведен не будет, так как HumanEmulator считается запущенным.
б) Опция в настройках «Принудительная остановка программы, если она не прекращается по запросу» включена или «Останавливать задачу, выполняемую дольше» включена со значением «1час».
Работа HumanEmulator будет прекращена (если экземпляр HumanEmulator уже запущен) для нового запуска, если задача выполняется дольше условленного времени (1 час).
Возможные ошибки
- Важно создать и заполнить «Триггер» и «Действие»
- Важно корректно заполнить аргументы при запуске.
- Код скрипта в конечном итоге должен содержать инструкцию $app->exitapp();