改名
This commit is contained in:
@@ -98,8 +98,8 @@ class Connection extends Component
|
|||||||
public function getConnect($sql = NULL): PDO
|
public function getConnect($sql = NULL): PDO
|
||||||
{
|
{
|
||||||
$connections = $this->connections();
|
$connections = $this->connections();
|
||||||
$connections->initConnections($this->cds, true, $this->maxNumber);
|
$connections->initConnections('mysql', $this->cds, true, $this->maxNumber);
|
||||||
$connections->initConnections($this->slaveConfig['cds'], false, $this->maxNumber);
|
$connections->initConnections('mysql', $this->slaveConfig['cds'], false, $this->maxNumber);
|
||||||
$connections->setTimeout($this->timeout);
|
$connections->setTimeout($this->timeout);
|
||||||
|
|
||||||
return $this->getPdo($sql);
|
return $this->getPdo($sql);
|
||||||
@@ -113,8 +113,8 @@ class Connection extends Component
|
|||||||
public function fill()
|
public function fill()
|
||||||
{
|
{
|
||||||
$connections = $this->connections();
|
$connections = $this->connections();
|
||||||
$connections->initConnections($this->cds, true, $this->maxNumber);
|
$connections->initConnections('mysql', $this->cds, true, $this->maxNumber);
|
||||||
$connections->initConnections($this->slaveConfig['cds'], false, $this->maxNumber);
|
$connections->initConnections('mysql', $this->slaveConfig['cds'], false, $this->maxNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,13 +30,14 @@ abstract class Pool extends Component
|
|||||||
use Timeout;
|
use Timeout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param $driver
|
||||||
* @param $name
|
* @param $name
|
||||||
* @param false $isMaster
|
* @param false $isMaster
|
||||||
* @param int $max
|
* @param int $max
|
||||||
*/
|
*/
|
||||||
public function initConnections($name, $isMaster = false, $max = 60)
|
public function initConnections($driver, $name, $isMaster = false, $max = 60)
|
||||||
{
|
{
|
||||||
$name = $this->name($name, $isMaster);
|
$name = $this->name($driver, $name, $isMaster);
|
||||||
if (isset($this->_items[$name]) && $this->_items[$name] instanceof Channel) {
|
if (isset($this->_items[$name]) && $this->_items[$name] instanceof Channel) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -71,16 +72,17 @@ abstract class Pool extends Component
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param $driver
|
||||||
* @param $cds
|
* @param $cds
|
||||||
* @param false $isMaster
|
* @param false $isMaster
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
#[Pure] public function name($cds, $isMaster = false): string
|
#[Pure] public function name($driver, $cds, $isMaster = false): string
|
||||||
{
|
{
|
||||||
if ($isMaster === true) {
|
if ($isMaster === true) {
|
||||||
return hash('sha256', $cds . 'master');
|
return $driver . ':' . hash('sha256', $cds . 'master');
|
||||||
} else {
|
} else {
|
||||||
return hash('sha256', $cds . 'slave');
|
return $driver . ':' . hash('sha256', $cds . 'slave');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class Redis extends Component
|
|||||||
|
|
||||||
$length = env('REDIS.POOL_LENGTH', 100);
|
$length = env('REDIS.POOL_LENGTH', 100);
|
||||||
|
|
||||||
$connections->initConnections('redis:' . $name, true, $length);
|
$connections->initConnections('redis', 'redis:' . $name, true, $length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ class Connection extends Pool
|
|||||||
*/
|
*/
|
||||||
public function inTransaction($cds): bool
|
public function inTransaction($cds): bool
|
||||||
{
|
{
|
||||||
return Context::getContext('begin_' . $this->name($cds, true)) == 0;
|
return Context::getContext('begin_' . $this->name('mysql', $cds, true)) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -60,7 +60,7 @@ class Connection extends Pool
|
|||||||
*/
|
*/
|
||||||
public function beginTransaction($coroutineName)
|
public function beginTransaction($coroutineName)
|
||||||
{
|
{
|
||||||
$coroutineName = $this->name($coroutineName, true);
|
$coroutineName = $this->name('mysql', $coroutineName, true);
|
||||||
if (!Context::hasContext('begin_' . $coroutineName)) {
|
if (!Context::hasContext('begin_' . $coroutineName)) {
|
||||||
Context::setContext('begin_' . $coroutineName, 0);
|
Context::setContext('begin_' . $coroutineName, 0);
|
||||||
}
|
}
|
||||||
@@ -79,7 +79,7 @@ class Connection extends Pool
|
|||||||
*/
|
*/
|
||||||
public function commit($coroutineName)
|
public function commit($coroutineName)
|
||||||
{
|
{
|
||||||
$coroutineName = $this->name($coroutineName, true);
|
$coroutineName = $this->name('mysql', $coroutineName, true);
|
||||||
if (!Context::hasContext('begin_' . $coroutineName)) {
|
if (!Context::hasContext('begin_' . $coroutineName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -104,7 +104,7 @@ class Connection extends Pool
|
|||||||
*/
|
*/
|
||||||
private function getIndex($name, $isMaster = false): array
|
private function getIndex($name, $isMaster = false): array
|
||||||
{
|
{
|
||||||
return [Coroutine::getCid(), $this->name($name, $isMaster)];
|
return [Coroutine::getCid(), $this->name('mysql', $name, $isMaster)];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -112,7 +112,7 @@ class Connection extends Pool
|
|||||||
*/
|
*/
|
||||||
public function rollback($coroutineName)
|
public function rollback($coroutineName)
|
||||||
{
|
{
|
||||||
$coroutineName = $this->name($coroutineName, true);
|
$coroutineName = $this->name('mysql', $coroutineName, true);
|
||||||
if (!Context::hasContext('begin_' . $coroutineName)) {
|
if (!Context::hasContext('begin_' . $coroutineName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -136,7 +136,7 @@ class Connection extends Pool
|
|||||||
*/
|
*/
|
||||||
public function getConnection(array $config, $isMaster = false): mixed
|
public function getConnection(array $config, $isMaster = false): mixed
|
||||||
{
|
{
|
||||||
$coroutineName = $this->name($config['cds'], $isMaster);
|
$coroutineName = $this->name('mysql', $config['cds'], $isMaster);
|
||||||
if (!isset($this->hasCreate[$coroutineName])) {
|
if (!isset($this->hasCreate[$coroutineName])) {
|
||||||
$this->hasCreate[$coroutineName] = 0;
|
$this->hasCreate[$coroutineName] = 0;
|
||||||
}
|
}
|
||||||
@@ -211,7 +211,7 @@ class Connection extends Pool
|
|||||||
*/
|
*/
|
||||||
public function release($coroutineName, $isMaster)
|
public function release($coroutineName, $isMaster)
|
||||||
{
|
{
|
||||||
$coroutineName = $this->name($coroutineName, $isMaster);
|
$coroutineName = $this->name('mysql', $coroutineName, $isMaster);
|
||||||
if (!$this->hasClient($coroutineName)) {
|
if (!$this->hasClient($coroutineName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class Redis extends Pool
|
|||||||
public function getConnection(array $config, $isMaster = false): mixed
|
public function getConnection(array $config, $isMaster = false): mixed
|
||||||
{
|
{
|
||||||
$name = $config['host'] . ':' . $config['prefix'] . ':' . $config['databases'];
|
$name = $config['host'] . ':' . $config['prefix'] . ':' . $config['databases'];
|
||||||
$coroutineName = $this->name('redis:' . $name, $isMaster);
|
$coroutineName = $this->name('redis', 'redis:' . $name, $isMaster);
|
||||||
if (($redis = Context::getContext($coroutineName)) instanceof \Redis) {
|
if (($redis = Context::getContext($coroutineName)) instanceof \Redis) {
|
||||||
return $redis;
|
return $redis;
|
||||||
}
|
}
|
||||||
@@ -105,7 +105,7 @@ class Redis extends Pool
|
|||||||
public function release(array $config, $isMaster = false)
|
public function release(array $config, $isMaster = false)
|
||||||
{
|
{
|
||||||
$name = $config['host'] . ':' . $config['prefix'] . ':' . $config['databases'];
|
$name = $config['host'] . ':' . $config['prefix'] . ':' . $config['databases'];
|
||||||
$coroutineName = $this->name('redis:' . $name, $isMaster);
|
$coroutineName = $this->name('redis', 'redis:' . $name, $isMaster);
|
||||||
if (!Context::hasContext($coroutineName)) {
|
if (!Context::hasContext($coroutineName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -121,7 +121,7 @@ class Redis extends Pool
|
|||||||
public function destroy(array $config, $isMaster = false)
|
public function destroy(array $config, $isMaster = false)
|
||||||
{
|
{
|
||||||
$name = $config['host'] . ':' . $config['prefix'] . ':' . $config['databases'];
|
$name = $config['host'] . ':' . $config['prefix'] . ':' . $config['databases'];
|
||||||
$coroutineName = $this->name('redis:' . $name, $isMaster);
|
$coroutineName = $this->name('redis', 'redis:' . $name, $isMaster);
|
||||||
if (!Context::hasContext($coroutineName)) {
|
if (!Context::hasContext($coroutineName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ trait Timeout
|
|||||||
{
|
{
|
||||||
$channels = $this->getChannels();
|
$channels = $this->getChannels();
|
||||||
foreach ($channels as $name => $channel) {
|
foreach ($channels as $name => $channel) {
|
||||||
|
$this->debug('release ' . $name);
|
||||||
$this->pop($channel, $name, $retain_number);
|
$this->pop($channel, $name, $retain_number);
|
||||||
}
|
}
|
||||||
if ($retain_number == 0) {
|
if ($retain_number == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user