1c-bitriks_cms._proverka_na_nalichie_neotpravlennyx_soobschenij_oshibka
1C-Битрикс CMS. Проверка на наличие неотправленных сообщений Ошибка!
Для начала полностью отключим выполнение агентов на хите. Для этого выполним следующую команду в 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».
После этого убираем из файла /bitrix/php_interface/dbconn.php определение следующих констант:
define("BX_CRONTAB_SUPPORT", true); define("BX_CRONTAB", true);
И добавляем
if(!(defined("CHK_EVENT") && CHK_EVENT===true)) define("BX_CRONTAB_SUPPORT", true);
Создаем файл проверки агентов и рассылки системных сообщений /bitrix/php_interface/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); 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"); ?>
И добавляем данный скрипт в cron
*/5 * * * * /usr/bin/php -f /home/bitrix/www/bitrix/php_interface/cron_events.php
После этого все агенты и отправка системных событий будут обрабатывается из под cron, раз в 5 минут. Чтобы не увеличивалась очередь отправки почтовых сообщений, советую изменить параметр отвечающий за количество почтовых событий обрабатываемых за раз. Для этого выполняем в php консоли следующую команду
COption::SetOptionString("main", "mail_event_bulk", "20"); echo COption::GetOptionString("main", "mail_event_bulk", "5");
Источник
1c-bitriks_cms._proverka_na_nalichie_neotpravlennyx_soobschenij_oshibka.txt · Последнее изменение: 2016/06/19 00:00 (внешнее изменение)