2013-03-20 1 views
0

Я использую планировщик задач Windows, чтобы запустить скрипт php, который отлично работает. В основном C:\php.exe -f C:\myscript.phpС помощью PHP и планировщика заданий Windows повторите попытку при выходе (1)

В моем сценарии происходит какая-то работа, которая иногда заставляет меня снова запустить сценарий задачи за 5 минут.

Я попытался реализовать это, изменив настройки задачи, чтобы перезапустить каждые 5 минут, если задача завершилась неудачно и с моим кодом php exit(1). Кажется, что планировщик задач знает, что я вышел с кодом ошибки 1, но он снова не запускает скрипт.

Кто-нибудь знает, что я могу сделать, чтобы этот менеджер задач снова попытался за 5 минут, если я каким-то образом передам его из своего кода.

ответ

2

Не ответ на вопрос, как сформулированный, но может служить резервным, если вы не можете заставить его работать: заставляйте свою работу работать каждые 5 минут независимо от нее, а затем отслеживать «последний успех»/«последний сбой», самостоятельно, в базе данных или файле.

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