Запустить запланированное задание из скрипта - PullRequest
0 голосов
/ 02 ноября 2009

На сервере Windows у нас есть задача, которая иногда запускается, используя «Запланированные задачи» для управления ею. (лучше не запускать его напрямую, так как может потребоваться запустить его как отдельный пользователь, а конфигурация запланированной задачи имеет все соответствующие пароли).

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

Примечание: файлы блокировки и т. Д., Вероятно, не являются полезным решением, поскольку задача может завершиться сбоем / сбой до завершения

Ответы [ 2 ]

2 голосов
/ 02 ноября 2009

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

Вы PHP (или любой другой) скрипт просто должны создать этот файл ...

0 голосов
/ 02 ноября 2009

Если у вас есть контроль над средой PHP, вы можете напрямую запустить внешнее приложение в PHP, используя shell_exec и с дополнительными параметрами. Также вы можете использовать мьютекс-подобные проверки в связанной задаче, чтобы предотвратить многократное выполнение.

...