Найти в Дзене
Программист - турист

Битрикс. Запуск агентов из cron

Что такое агенты Агенты - технология, которая позволяет запускать произвольные PHP агенты (функции) с заданной заранее периодичностью. Коротко об агентах Агент может вносить ощутимое ожидание на хите пользователя.
Но тут надо взвесить различные факторы. Например, агент выполняющийся 0.5 секунд раз в сутки не причинит ощутимого вреда, а такой же агент раз в 30 минут уже будет досаждать.
Всецело можно сказать одно: если агенты занимают несколько десятых долей секунды, то уже стоит задуматься о переносе агентов на cron. "Тяжелым" считается агент, который выполняется более 10 секунд. Не стоит забывать и про накопительный эффект агентов. Если агенты запускаются на хитах, то при маленькой посещаемости и при длительном окне без посетителей может скопиться достаточное количество агентов, ожидающих запуска. Тогда следующего посетителя встретят не самые быстрые секунды на вашем сайте. Механизм запуска Перейдите на страницу Настройки > Инструменты > Командная PHP-строка и исполните следующий к
Оглавление

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

Агенты - технология, которая позволяет запускать произвольные PHP агенты (функции) с заданной заранее периодичностью.

Коротко об агентах

Агент может вносить ощутимое ожидание на хите пользователя.
Но тут надо взвесить различные факторы. Например, агент выполняющийся 0.5 секунд раз в сутки не причинит ощутимого вреда, а такой же агент раз в 30 минут уже будет досаждать.
Всецело можно сказать одно: если агенты занимают несколько десятых долей секунды, то уже стоит задуматься о переносе агентов на
cron. "Тяжелым" считается агент, который выполняется более 10 секунд.

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

Механизм запуска

Перейдите на страницу Настройки > Инструменты > Командная PHP-строка и исполните следующий код:

COption::SetOptionString("main", "agents_use_crontab", "Y");
echo COption::GetOptionString("main", "agents_use_crontab", "N");

Увидели "Y". С этой секунды на хитах будут исполняться только периодические агенты .

Перейдите на страницу Настройки > Настройки продукта > Агенты и настройте показ колонки Периодичность. И отредактируйте нужные вам агенты выставив флажки в Периодичность выполнения: через заданный интервал.

В cron добавьте команду на выполнение:

/usr/bin/php -f /var/www/bitrix/modules/main/tools/cron_events.php