Достаточно часто возникает необходимость переноса исполнения некоторых особо тяжелых агентов на cron.
Механизм запуска
Перейдите на страницу Настройки > Инструменты > Командная PHP-строка и выполните следующий код:
COption::SetOptionString("main", "agents_use_crontab", "Y");
echo COption::GetOptionString("main", "agents_use_crontab", "N");
Увидели "Y". С этой секунды на хитах будут исполняться только периодические агенты. Перейдите на страницу Настройки > Настройки продукта > Агенты и настройте показ колонки Периодичность. И отредактируйте нужные вам агенты выставив флажки в Периодичность выполнения: через заданный интервал.
В cron добавьте на выполнение команду:
/usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php
Выставьте периодичность, например: */2 * * * * - что означает раз в две минуты. Примечание: Непосредственно перед выполнением задания процедура запуска агентов пытается отменить ограничение:
@set_time_limit(0);
ignore_user_abort(true);
Если set_time_limit разрешен, то время выполнения может превышать то, что стоит в настройках файла php.ini.