Cron на многосайтовой установке - PullRequest
0 голосов
/ 09 августа 2010

В многосайтовой установке Drupal 6, как лучше запустить cron только для запрошенного сайта? Переход к http://www.mysite.com/cron.php приводит к 404.

Ответы [ 2 ]

1 голос
/ 10 августа 2010

cron.php - правильный путь, даже при многосайтовой установке: Drupal проверяет HTTP_HOST, чтобы увидеть, на какой сайт загрузиться.Вы упомянули в комментарии, что оно было переименовано: помимо переименования или запуска задания cron для переименованного файла, вы также можете запустить его со страницы отчета о состоянии или через Drush:

/usr/bin/php /path/to/drush.php -v -l http://example.com -r /path/to/drupal/ cron

или просто

drush -l http://example.com cron

, если у вас есть пути, настроенные для cron.

1 голос
/ 09 августа 2010

Я думаю, что вы ответили что-то сделать с помощью hook_cron (). Вы можете указать сайт в запросе базы данных.
Вот код, реализующий это:

<?php
  function hook_cron() {
       $result = db_query('SELECT * FROM {site} WHERE checked = 0 OR checked
       + refresh < %d', time());

       while ($site = db_fetch_array($result)) {
           cloud_update($site);
       }
  }
?>

украдено у http://api.drupal.org/api/function/hook_cron
Я знаю, что это не тот ответ, который вы искали, но я думаю, что это в правильном направлении. Я неделю в друпал. Я думаю, мне это нравится;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...