
swooledistributed 3 mysql连接池在数据库重启后失效
在使用swooledistributed 3框架时,若遇到数据库重启后连接池全部失效的问题,请考虑以下解决方法:
重连失败时,重新创建一个swoole mysql客户端进行连接。修改以下重连代码:
if (!$client-youjiankuohaophpcnconnected) {
$set = $this-youjiankuohaophpcnconfig['mysql'][$this-youjiankuohaophpcnactive];
$result = $client-youjiankuohaophpcnconnect($set);
if (!$result) {
$this-youjiankuohaophpcnpushToPool($client);
$errcode = $client-youjiankuohaophpcnerrno ?? '';
$mysqlCoroutine-youjiankuohaophpcngetResult(new SwooleException(sprintf("err:%s,code:%s", $client-youjiankuohaophpcnconnect_error, $errcode))); //在这里报的错
}
} else {
// 客户端已连接,无需重连
// ...
}










