PHP前端开发

SwooleDistributed 3 MySQL连接池:数据库重启后连接失效怎么办?

百变鹏仔 1个月前 (12-15) #PHP
文章标签 重启

swooledistributed 3 mysql连接池在数据库重启后失效

在使用swooledistributed 3框架时,若遇到数据库重启后连接池全部失效的问题,请考虑以下解决方法:

重连失败时,重新创建一个swoole mysql客户端进行连接。修改以下重连代码:

if (!$client->connected) {    $set = $this->config['mysql'][$this->active];    $result = $client->connect($set);    if (!$result) {        $this->pushToPool($client);        $errcode = $client->errno ?? '';        $mysqlCoroutine->getResult(new SwooleException(sprintf("err:%s,code:%s", $client->connect_error, $errcode)));  //在这里报的错    }} else {    // 客户端已连接,无需重连    // ...}