Cоздание Google Sitemap из сценария, запускаемого из-под cron'а

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


И опять про cron!

На этот раз выполним упражнение по созданию Google Sitemap из сценария запускаемого из-пдо cron'а.

В прошлый раз мы обсуждали запуск агентов.
Берем упоминавшийся там скрипт cron_events.php, копируем его к себе в каталог php_interface
и после подключения пролога вставляем следующий код:
//подключение модуля поиска
if(CModule::IncludeModule('search'))
{
   //В этом массиве будут передаваться данные "прогресса". Он же послужит индикатором окончания исполнения.
   $NS=Array();
   //Задаем максимальную длительность одной итерации равной "бесконечности".
   $sm_max_execution_time = 0;
   //Это максимальное количество ссылок обрабатываемых за один шаг.
   //Установка слишком большого значения приведет к значительным потерям производительности.
   $sm_record_limit = 5000;
   do {
      $cSiteMap = new CSiteMap;
      //Выполняем итерацию создания,
      $NS = $cSiteMap->Create("ru", array($sm_max_execution_time, $sm_record_limit), $NS);
      //Пока карта сайта не будет создана.
   } while(is_array($NS));
}

Остается настроить крон для периодического запуска.
Поскольку отсутствует механизм блокировки процесса создания Sitemap, то запуск имеет смысл делать не чаще раза в день.
Желательно в часы наименьшей нагрузки (в их определении может помочь соответствующий отчет из модуля статистики: /bitrix/admin/traffic.php?lang=ru&set_filter=Y&find_date1_DAYS_TO_BACK=14&find_hit=Y).

 

 

Источник: https://dev.1c-bitrix.ru/community/blogs/oracle/254.php

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA