作者 邓超

db time out 30

... ... @@ -37,6 +37,11 @@ trait DbQuery {
public function getClient()
{
// 读取连接齐前 检查
// if(isset(static::$pool) && !$this->ping()){
// $this->close();
// $this->client = static::$pool->get();
// }
return $this->client;
}
... ... @@ -387,51 +392,45 @@ trait DbQuery {
/**
* 事务开启
* 事务处理
* @param \Closure $call 闭包函数 返回true表示提交事务 返回false/抛出异常表示回滚事务
* @param mixed ...$params 传递给闭包函数的参数
* @author:dc
* @time 2023/2/17 11:35
*/
public function transaction(){
public function transaction(\Closure $call, ...$params){
$this->getClient()->beginTransaction();
try {
if($call($this->getClient(),...$params)){
$this->getClient()->commit();
}
}catch (\Throwable $e){
}
/**
* 事务回滚
* @author:dc
* @time 2023/2/17 11:35
*/
public function rollBack(){
$this->getClient()->rollBack();
}
/**
* 事务提交
* 验证是否正常连接
* @return bool
* @author:dc
* @time 2023/2/17 11:35
* @time 2024/4/10 10:09
*/
public function commit(){
$this->getClient()->commit();
public function ping(){
try {
$query = $this->getClient()->query("select 200;");
if($query->fetchColumn() == 200){
return true;
}
}catch (\Throwable $e){
return false;
}
// /**
// * 验证是否正常连接
// * @return bool
// * @author:dc
// * @time 2024/4/10 10:09
// */
// public function ping(){
// try {
// $query = $this->getClient()->query("select 200;");
// if($query->fetchColumn() == 200){
// return true;
// }
// }catch (\Throwable $e){
// return false;
// }
//
// return false;
// }
return false;
}
}
... ...