О web-разработке
и даже немного больше...

Как перевести выполнение агентов на cron?

Агенты в системе битрикс представляют собой произвольные PHP функции, которые позволяют выполнять операции в фоновом режиме. Агенты требуется запускать с некоторой периодичностью, и по умолчанию после установки битрикс-а выполнение агентов завязано на хитах (любое обращение к ядру битрикс). С точки зрения производительности это естественно не очень рационально. Для этого есть более правильный метод выполнения задач с некоторой периодичностью – это выполнение агентов по Cron-у.

Cron – это планировщик задач, который позволяет обращаться к скриптам в фоновом режиме, с заданной периодичностью. Данная утилита есть практически на каждом хостинге, поэтому использование её становится доступным практически для каждого проекта.

Чтобы убедиться, что ваши агенты работают на хитах, можете запустить тест сайта (в админ. части), после чего вы увидите сообщение в пункте «Выполнение агентов на cron»:


Убедившись, что наши агенты требуется переключить на Cron, приступаем к настройкам.

Открываем файл:
/bitrix/php_interface/dbconn.php

Устанавливаем значение константы BX_CRONTAB_SUPPORT в значение true. По умолчанию, после установки системы Битрикс на сервер, данная константа отсутствует. В этом случае её следует вписать в файл:

define('BX_CRONTAB_SUPPORT', true);

Определив значение константы, мы указали системе битрикс что выполнение периодических агентов переводится на Cron. После этого следует прописать в настройках Cron-a на хостинге вызов файла:
/bitrix/modules/main/tools/cron_events.php

Пример:

Обратите внимание что нужно указывать полный путь к файлу скрипта, т.е. если есть к примеру путь /home/…/public_html/, то его так же следует учесть. Периодичность времени выполнения задачи стоит выставить минимальную, т.е. 1 минута.

Собственно, это всё. В скрипте объявлена константа BX_CRONTAB, которая является идентификатором того, что выполнение скрипта производится посредством, Cron-а, и затрагивает выполнение только периодических агентов.

Важный момент, если эта константа ошибочно задана в файле dbconn.php, выполнение периодических агентов полностью прекращается.

Опубликован: 17.04.2020 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта