예제 #1
0
파일: Database.php 프로젝트: nosun/swoole
 /**
  * 检查连接状态,如果连接断开,则重新连接
  */
 function check_status()
 {
     if (!$this->_db->ping()) {
         $this->_db->close();
         $this->_db->connect();
     }
 }
예제 #2
0
 public function closeConnection(IDatabase $conn)
 {
     $serverIndex = $conn->getLBInfo('serverIndex');
     // second index level of mConns
     foreach ($this->mConns as $type => $connsByServer) {
         if (!isset($connsByServer[$serverIndex])) {
             continue;
         }
         foreach ($connsByServer[$serverIndex] as $i => $trackedConn) {
             if ($conn === $trackedConn) {
                 $host = $this->getServerName($i);
                 $this->connLogger->debug("Closing connection to database {$i} at '{$host}'.");
                 unset($this->mConns[$type][$serverIndex][$i]);
                 --$this->connsOpened;
                 break 2;
             }
         }
     }
     $conn->close();
 }