Инструменты пользователя

Инструменты сайта


1c-bitriks_cms._proverka_na_nalichie_neotpravlennyx_soobschenij_oshibka

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
1c-bitriks_cms._proverka_na_nalichie_neotpravlennyx_soobschenij_oshibka [2016/06/19 09:27] – удалено daniil1c-bitriks_cms._proverka_na_nalichie_neotpravlennyx_soobschenij_oshibka [2016/06/19 09:27] (текущий) – создано daniil
Строка 1: Строка 1:
 +====== 1C-Битрикс CMS. Проверка на наличие неотправленных сообщений Ошибка! ======
 +Для начала полностью отключим выполнение агентов на хите. Для этого выполним следующую команду в php консоли. 
 +<code>
 +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");
 +</code>
 +В результате выполнения должно быть "**NN**". \\
 +После этого убираем из файла **/bitrix/php_interface/dbconn.php** определение следующих констант: 
 +<code>
 +define("BX_CRONTAB_SUPPORT", true);
 +define("BX_CRONTAB", true);
 +</code>
 +И добавляем 
 +<code php>
 +if(!(defined("CHK_EVENT") && CHK_EVENT===true))
 +   define("BX_CRONTAB_SUPPORT", true);
 +</code>
 +Создаем файл проверки агентов и рассылки системных сообщений **/bitrix/php_interface/cron_events.php**
 +<code 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");
 +?>
 +</code>
 +
 +И добавляем данный скрипт в cron
 +<code>
 + */5 * * * * /usr/bin/php -f /home/bitrix/www/bitrix/php_interface/cron_events.php
 +</code>
 +
 +После этого все агенты и отправка системных событий будут обрабатывается из под cron, раз в 5 минут. Чтобы не увеличивалась очередь отправки почтовых сообщений, советую изменить параметр отвечающий за количество почтовых событий обрабатываемых за раз. Для этого выполняем в php консоли следующую команду 
 +<code>
 +COption::SetOptionString("main", "mail_event_bulk", "20"); 
 +echo COption::GetOptionString("main", "mail_event_bulk", "5");
 +</code>
 +
 +===== Источник =====
 +
 +  * [[https://dev.1c-bitrix.ru/community/webdev/user/8078/blog/2755/|dev.1c-bitrix.ru]]
1c-bitriks_cms._proverka_na_nalichie_neotpravlennyx_soobschenij_oshibka.1466328433.txt.gz · Последнее изменение: (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki