Перейти к основному контенту

Выполнение агентов на Cron в Bitrix

В этой статье мы расскажем, что такое агенты, а также как работает выполнение агентов на Cron в Bitrix.

Что такое агенты

Агенты — это функционал CMS Bitrix, с помощью которого можно запускать функции PHP с заданным промежутком времени. Этот функционал представлен как запись в базе данных. Каждая запись содержит:

  • код, который нужно запустить,
  • дату и время запуска кода,
  • промежуток между запусками — для периодических агентов, которые запускаются спустя заданный промежуток времени.

Как работают агенты

Чтобы понять, как работают агенты в Bitrix, нужно разобраться, что такое хит и Cron-задания. Есть два алгоритма для запуска агентов:

  • Хиты. Хит — это одна загрузка страницы. Когда пользователь заходит на страницу или кликает по ссылке, в CMS создаётся хит. Также он создаётся, если пользователь перезагружает страницу или переходит на несуществующую страницу. Каждый раз, когда создается хит, Bitrix обращается ко всем агентам. CMS выполняет их, если закончился заданный промежуток времени;
  • Cron-задания. Такие задания тоже выполняются с заданной периодичностью, но не зависят от хитов. Подробнее о работе Cron-заданий читайте в статье Планировщик Cron.

Если агент выполняется более 10 секунд, страницы сайта будут долго открываться. Поэтому иногда возникает потребность перевести их с хитов на Cron. Это позволит разгрузить CMS и ускорить загрузку страниц.

Как перевести агенты на Cron

Оптимальный вариант перевода агентов на Cron — модуль «Агенты на кроне». Его плюс в том, что на Cron переносятся все агенты, кроме почтовых. Это значит, что почта продолжит работать без задержек и дополнительных настроек.

Чтобы установить модуль:

  1. 1.
    Войдите в админку.
  2. 2.

    Перейдите на вкладку Администрирование:

    перевести агенты на cron 1

  3. 3.

    Выберите Marketplace — Каталог решений:

    перевести агенты на cron 2 Cron events

  4. 4.

    В поисковой строке наберите «Агенты на кроне» и нажмите Enter. Затем найдите модуль на странице и нажмите Установить:

    перевести агенты на cron 3

  5. 5.

    Отметьте модуль галочкой и кликните Загрузить:

    перевести агенты на cron 4

  6. 6.

    Примите лицензионное соглашение и условия конфиденциальности. После этого нажмите Применить:

    перевести агенты на cron 5

  7. 7.

    Перейдите на вкладку Установка обновлений и нажмите Установить:

    перевести агенты на cron 6

  8. 8.

    Если установка прошла корректно, вы увидите сообщение:

    перевести агенты на cron 7

  9. 9.

    Выберите блок Настройки. Затем перейдите в раздел Настройки продукта — Настройки модулей:

    перевести агенты на cron 8

  10. 10.

    Выберите модуль Агенты на кроне из выпадающего списка. Отметьте пункт «Все агенты выполняются на кроне, а на хитах пользователей не выполняются». Затем нажмите Сохранить:

    перевести агенты на cron 9

Готово, вы перенесли агенты на Cron.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 1