使用webman\medoo 插件时心跳执行报错

indesigncs

问题描述

这里详细描述问题,我加了try catch 后,这里会错误,是不是因为数据库断开了还调用回调函数:setHeartbeatChecker呢,是官方这个组件该加try catch 呢,还是底层内部在数据库断开后,不应再调用这个回调呢?

使用的是最新版本workerman5.1,webman2.1

213 1 0
1个回答

walkor 打赏

心跳检测是定时给数据库发一个select 1请求,如果没异常则代表连接没断开。如果有异常例如 Mysql server gone away,连接池会检测到这个异常并输出异常日志,然后销毁这个连接对象,下次请求就不会再使用这个mysql连接了。
所以不要在心跳里加try catch,那样会导致连接池无法检测到异常,这个异常连接会一直存在。

×
🔝