Уже было несколько попыток перевести агенты на крон. В одной попытке не затрагивались периодические, в другой попытке подмешивалась еще и отправка почты. В этой попытке мы остановимся исключительно на всех агентах.
Немного ликбеза. Что такое агент в терминологии Битрикс? Это метод или функция, который выполняет определенную функцию по расписанию. Например, импорт/экспорт, очистка данных, либо еще какие-то действия. Если такие агенты не переводить на крон (планировщик), то они будут выполняться на хитах пользователя. Это означает, что последний будет ждать выполнения агента, что увеличит время выполнения страницы, и отрицательно скажется на отношении пользователя к сайту. Поэтому, данная инструкция обязательна к применению.
Итак, порядок действий:
1. Из /bitrix/php_interface/dbconn.php убрать любые упоминания:
CAgent::CheckAgents() вызывается два раза специально, чтобы выполнить как периодические агенты, так и не периодические. Если вам требуется, чтобы данный файл отвечал еще и за бекап, откомментируйте последнюю строчку.
В следующих статьях мы рассмотрим как добавлять задачу крон на исполнение данного файла в различных панелях управления.
Марат, блин, точно, формирует то он их при работе крона. А если доменов несколько? В общем, проблема гораздо шире, чем может казаться. Я бы рекомендовал все же в самом шаблоне прописывать явно домен. Коряво, но имхо в коде прописывать хост - немножко корявее.
Долганин Антон написал: А если доменов несколько? В общем, проблема гораздо шире, чем может казаться.
Проблема в том, что в продукте не предусмотрено штатного механизма для получения домена нужного сайта. В итоге все делают как могут, и далеко не все варианты будут работать всегда правильно.
Наиболее правильным, наверное, будет выбрать первый из заполненных:
URL сервера в настройках сайта
URL сайта в настройках главного модуля
$_SERVER['HTTP_HOST']
$_SERVER['SERVER_NAME']
Даже если одно из первых двух полей заполнено, нет никакой гарантии что они заполнены правильно — нет никакой проверки этих полей.
Долганин Антон написал: Я бы рекомендовал все же в самом шаблоне прописывать явно домен.
Вот только это стандартный шаблон стандартного модуля Техподдержка. Да и прописать там домен явно не получится: ссылка полностью формируется в коде модуля.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».