Запуск хронометра (cron)

Авторы решений:
Версия Drupal:

Задача

Настроить запуск хронометра (cron).

Решение

Варианты

  • Вручную.
  • Из OS сервера.
  • С помощью дополнительных модулей Drupal.
  • С помощью внешних сервисов.
  • Вызов cron.php своего сайта с другого хостинга, на котором доступен crontab..

Вручную

http://example.com/cron.php

(Откроется пустая страница. В случае успешного выполнения, в логах останется сообщение)

Друпал 6:

http://example.com/admin/reports/status/run-cron

После выполнения откроется страница "Отчет о состоянии" (http://example.com/admin/reports/status) с сообщение о том, как была выполнена эта команда.

Друпал 5:

http://example.com/admin/logs/status/run-cron

После выполнения откроется страница "Отчет о состоянии" (http://example.com/admin/reports/status) с сообщение о том, как была выполнена эта команда.

Из OS сервера

Unix

Необходимо создать файл .crontab, в домашнем каталоге и занести строчку, которая будет содержать время и имя скрипта.
Формат команд: http://ru.wikipedia.org/wiki/Cron

http://www.drupal.ru/node/11450

Windows

Запуск cron.php в Windows - инструкция с картинками.

С помощью дополнительных модулей Drupal

Poormanscron позволяет при каждом открытии страницы сравнивать дату предыдущего срабатывания cron. Если она больше указанного промежутка времени запустит на выполнение cron.

С помощью внешних сервисов

Существуют специальные сайты, которые позволяют настроить запуск cron на вашем сайте:



axel:

По крону в Drupal выполняются например такие задачи, как
индексация контента для работы поиска,
отправка писем подписчикам
и пр. функции - модули сами могут давать задания для выполнения по расписанию.

Запускаются задания вызовом cron.php лежащего в корне сайта. Поэтому надо прописать его вызов в crontab с периодичностью зависящей от посещаемости сайта - где-нибудь от 30 мин до 1.5-2 часов. Вызывать cron.php удобно например через lynx или wget. Готовый shell-скрипт делающий это лежит в scripts/cron-lynx.sh. Там надо только поправить имя хоста (но не указывать localhost, указать его так же как к сайту обращаются из веба).

Если crontab на хостинге не доступен, есть модуль poormanscron. С ним Drupal работает также как большинство CMS - грузит задания планировщика на вызовы страниц пользователями.

Использованные материалы

Как запустить CRON?
Зачем нужен cron в Drupal?

Полезные ссылки

http://ru.wikipedia.org/wiki/Cron

Обработать:

"Зависание" cron'а

Creative Commons: ­Attribution-Share Alike 2.5

Данные материалы выложены под лицензией Creative Commons: ­Attribution-Share Alike 2.5. Это значит, что вы можете распространять, копировать и модифицировать эти произведения при условии упоминания авторства оригинала, и при условии, что они также будут распространяться на условиях этой лицензии (то есть, изменённую работу нельзя защитить копирайтом). Подробнее смотри: http://ru.wikipedia.org/wiki/Creative_Commons