Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 1.47 KB

README.md

File metadata and controls

32 lines (23 loc) · 1.47 KB

maximaster/bitrix-reconnect

Количество доступных подключений к MySQL ограничено. Если для вашего приложения допустимо подождать освободившегося слота, лишь бы не падать, тогда:

composer require maximaster/bitrix-reconnect

Файл bitrix/.settings_extra.php:

use Maximaster\BitrixReconnect\Mysqli\RecoverableMysqliConnection;

require_once $_SERVER['DOCUMENT_ROOT'] . '/../vendor/maximaster/bitrix-reconnect/src/Mysqli/RecoverableMysqliConnection.php';

$connections = (require __DIR__ . '/.settings.php')['connections'];
$connections['value']['default'] = array_merge($connections['value']['default'], [
    'className' => RecoverableMysqliConnection::class,
    'timeout' => 1, // Секунд ожидания после ошибки подключения.
    'totalRetries' => 10, // Количество попыток переподключения.
]);

return ['connections' => $connections];

В данном примере, если для текущего хита не найдётся MySQL слотов, то подключение будет пытаться повториться 10 раз, делая секундую паузу между попытками.

При исчерпании попыток будет выброшено исключение Maximaster\BitrixReconnect\Exception\ConnectionRetryLimitExceededException.