Запуск cron.php в Windows

В Windows в принципе довольно легко запустить cron.php на выполнение с помощью стандартного планировщика, но есть несколько тонкостей, из-за которых cron.php не будет отрабатывать.

  • В "Панель управления" → "Назначенные задания" открываем "Добавить задание"

    ... в появившемся окошке нажимаем на кнопочку "Обзор" и выбираем php.exe (c:\wamp\php\php.exe). → "Далее"

  • Вводим название задачи, а период повторения выбираем "ежедневно"

    ... → "Далее"
  • В поле "Время начала" вводим 0:00, "Выполнять это задание" оставляем "Ежедневно", "Дата начала" - это с какого числа задача начнет выполняться, по умолчанию стоит сегодняшняя дата

    ... → "Далее"
  • Здесь вводим пользователя, от имени которого будет запускаться задача (рекомендую администратора), и его пароль

    ... → "Далее"
  • Обязательно выставляем галочку в поле "Установить дополнительные параметры после нажатия кнопки "Готово".

    ... → "Готово"
  • Теперь появится окошко дополнительными параметрами настройки задачи.
    • В поле "Выполнить" должно быть введено значение подходящее под такую маску: <путь до php.exe> -f <путь до cron.php> (C:\wamp\php\php.exe -f D:\Docs\www\drupal5\cron.php)
    • В поле "Рабочая папка" путь до папки в которой находится cron.php (D:\Docs\www\drupal5). Обязательно указать путь именно до выполняемого скрипта, иначе не будут выполняться операторы типа include и соотвественно cron.php не отработает.
    • Поле "Комментарий" - введите комментарий к выполняемой задаче, не обязательное поле.
    • "От имени" - от имени какого пользователя будет запускаться задаче. Менять не стоит, только если вы в окошке ввода пользователя не правильно что-нибудь ввели, или если хотите сменить пользователя.
    • Поле выбора "Выполнять только при выполненном входе в систему" выставлять не стоит.
    • Поле выбора "Разрешено" - выставить галочку обязательно, иначе задача не будет выполняться.
  • Теперь переключается на закладку "Расписание"

    ... → "Дополнительно"
  • В появившемся окошке для нас самое важное - блок "Повторять задание", соотвественно ставим там галочку и в поле "Каждые" выбираем период повтора (15 мин.), а в поле "Выполнять" выбираем "до" 23:50

    ... Это нам даст период повтора задачи в течении всего дня, каждые 15 минут. → "Ок"

  • ... → "Ок"
  • Обязательно запустите задачу на выполнение, иначе если у вас установлен какой-нибудь firewall, то он скорей всего задаст вопрос на разрешение выполнения задачи. Далее зайдите в "/admin/logs/status" (/?q=admin/logs/status) и проверьте время запуска cron.php, должно быть несколько секунд (минут) назад.

    Для тех у кого в качестве серверного набора стоит wamp советую переписать php.ini находящийся в "\wamp\Apache2\bin\" в папку "\wamp\php\", так как wamp использует php.ini из "\wamp\Apache2\bin\", а для запуска задач будет использоваться php.ini лежащий в "\wamp\php\". Или в самой задаче прописать выполняемую строку таким образом: <путь до php.exe> -c <путь до php.ini> -f <путь до cron.php> (C:\wamp\php\php.exe -с C:\wamp\Apache2\bin\php.ini -f D:\Docs\www\drupal5\cron.php)

    И еще, в Windows запуск задачи будет сопровождаться появлением черного окошка с периодом выполнения задачи.