SQLserver出现这种断开情况就必须重启webman
开了掉线重连 心跳检测 好像都没有用
加入一个定时器,比如, 10分钟。 然后写入一个查询语句,为的就是保活和数据库的连接。
我是在 onWorkerStart 加入的: Timer::add(600, function(){ Db::name('car')->find(); });
没有驱动异常的时候用laravel的ormmy出现这个问题 驱动异常这个好像是要重启一下
框架只对 MySQL 加了心跳,SQLserver 没有心跳 自己写个 bootstrap 加个心跳
改下 vendor/webman/think-orm/src/ThinkOrm.php 改成
vendor/webman/think-orm/src/ThinkOrm.php
if (in_array($connection->getConfig('type'), ['mysql', 'sqlsrv'])) { try { $connection->query('select 1'); } catch (Throwable $e) {} }
测试没问题的话,这边发版本
老大 还是有这种情况
if (in_array($connection->getConfig('type'), ['mysql', 'sqlsrv'])) { try { $connection->query('select 1'); } catch (Throwable $e) { echo $e; } }
加一个 echo $e; 看下是否有异常
有 跟接口返回的一样
解决了吗,我链接pgsql过一会也会断开,要重启webman才行
那应该不是心跳问题
SQLServer重启了吧
没有 服务一直运行的 其他语言写的服务一直正常
加入一个定时器,比如, 10分钟。 然后写入一个查询语句,为的就是保活和数据库的连接。
我是在 onWorkerStart 加入的:
Timer::add(600, function(){
Db::name('car')->find();
});
没有驱动异常的时候用laravel的ormmy出现这个问题 驱动异常这个好像是要重启一下
框架只对 MySQL 加了心跳,SQLserver 没有心跳
自己写个 bootstrap 加个心跳
改下
vendor/webman/think-orm/src/ThinkOrm.php
改成
测试没问题的话,这边发版本
老大 还是有这种情况
加一个 echo $e; 看下是否有异常
有 跟接口返回的一样
解决了吗,我链接pgsql过一会也会断开,要重启webman才行
那应该不是心跳问题
SQLServer重启了吧
没有 服务一直运行的 其他语言写的服务一直正常