maximaster / bitrix-reconnect

重连数据库连接的类(MySQL)。

v1.0.0 2024-08-29 10:33 UTC

This package is auto-updated.

Last update: 2024-08-29 10:34:47 UTC


README

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