Настройка агентов на крон
Настройка всех агентов на cron.
Для начала полностью отключим выполнение агентов на хитах. Для этого перейдите в панель Битрикса:
Настройки > Инструменты > Командная PHP-строка и вставьте следующий код в php консоль и нажмите кнопку "Выполнить":
COption::SetOptionString("main", "agents_use_crontab", "N");
echo COption::GetOptionString("main", "agents_use_crontab", "N");
COption::SetOptionString("main", "check_agents", "N");
echo COption::GetOptionString("main", "check_agents", "Y");
В результате выполнения должно быть "NN".
После этого в панели ISPmanager пройдите в Менеджер файлов:
Перейдите по пути: /www/ваш.домен/bitrix/php_interface/dbconn.php и отредактируйте файл "dbconn.php"
В данном примере используется путь: /www/example.cloudplace.ru/bitrix/php_interface/dbconn.php
Удаляем в файле dbconn.php следующие строки кода:
define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);
Добавляем в файл dbconn.php следующий код:
if(!(defined("CHK_EVENT") && CHK_EVENT===true))
define("BX_CRONTAB_SUPPORT", true);
Далее создадим новый файл в Менеджере файлов /www/ваш.домен/bitrix/php_interface/cron_events.php
В данном примере используется путь /www/example.cloudplace.ru/bitrix/php_interface/cron_events.php
Скопируем и вставим в файл cron_events.php следующий код:
<?php
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/../..");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS",true);
define('BX_NO_ACCELERATOR_RESET', true);
define('CHK_EVENT', true);
define('BX_WITH_ON_AFTER_EPILOG', true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
@set_time_limit(0);
@ignore_user_abort(true);
CAgent::CheckAgents();
define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);
CEvent::CheckEvents();
if(CModule::IncludeModule('sender'))
{
\Bitrix\Sender\MailingManager::checkPeriod(false);
\Bitrix\Sender\MailingManager::checkSend();
}
require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/tools/backup.php");
CMain::FinalActions();
?>
Добавление задания в крон ISPmanager
В панели ISPmanager перейдите в меню Основное→ Планировщик
Нажмите "Создать задание".
И добавляем скрипт который только что создали в cron:
Полный путь на сервере вашего cron скрипта будет такой: /var/www/имя_пользователя/data/www/Ваш.Домен/cron_events.php
Команда указывается в следующем формате: путь к интерпретатору php в зависимости от версии -f /var/www/имя_пользователя/data/www/Ваш.Домен/bitrix/php_interface/cron_events.php
В данном примере используется команда: /opt/php74/bin/php -f /var/www/b5984/data/www/example.cloudplace.ru/bitrix/php_interface/cron_events.php
Расписание = переключить в "Экспертный режим"
Минуты = */1
Остальные поля = *
Нажмите "ОК"
Задание добавлено.
Для проверки работы, проведите тестирование в Панели Битрикс.
Для этого пройдите в Настройки → Инструменты → Проверка системы
Нажмите "Начать тестирование".
В результате проверки "Выполнение агентов на cron" должно быть "Успешно"











