CRON на Windows машинах 1Gb
Материал из 1GbWiki.
С CRON существует следующая общая для всех систем проблема, которую приходится учитывать: среда запуска скрипта из под CRON-а (shell доступа) и из-под веб-сервера различается, порой существенно.
На Windows машине отличие могло бы быть и того больше, так как службы CRON там нет и даже традиция борьбы с такими явлениями отсутствует.
CRON на 1Gb
Реализация CRON-а на хостинге 1Gb предлагает вам несколько вариантов запуска скриптов по расписанию.
crontab (UNIX)
Традиционный UNIX-cron доступен вам через SSH доступ. Он работает в том случае, если сервер вашего сайта - UNIX (см. «полный список функций», «управление сайтами и серверами».
Помните об особенности, с которой началась статья: настройки консольного PHP могут немного отличаться от того, что исполняет Веб-сервер. Вам нужно отладить запуск скрипта с помощью непосредственной проверки его работы через shell, и только потом размещать его вызов в CRON.
Общий HTTP-cron
Доступен и для Windows, и для UNIX сайтов, и заключается в том, что скрипт вашего сайта вызывается как обычная страница, через HTTP протокол.
Плюсы:
- Скрипт работает точно так же, как будто его открыл пользователь из обозревателя.
- Легко отлаживать, отсутствуют косвенные эффекты.
Минусы:
- Невысокая точность вызова по времени.
- Веб-сервер может прервать исполнение ресурсоемкого или долгого скрипта.
Графа «результат» дает вам возможность предположить, удалось ли вообще начать исполнение скрипта. Но просим вас помнить, что система дожидается результата исполнения скрипта в течение 10 секунд, затем скрипт продолжает исполняться, но результат его исполнения уже не попадает в этот отчет. Это нормально – исполнение скрипта при этом продолжается по внутренним правилам Веб-сервера, то есть, типично, скрипт может исполняться 60 – 120 секунд, а некоторые типы скриптов и больше. Проверяйте результат исполнения скрипта по фактическим действиям, которые он совершил, или по лог-файлам. curl -s -o /dev/null http://life-news-net.1gb.ru/parser/update_news.php curl -s -o /dev/null http://life-news-net.1gb.ru/parser/delete_old_news.php