SqlServer数据库出现这种断开情况就必须重启webman

abinx

问题描述

SQLserver出现这种断开情况就必须重启webman

为此你搜索到了哪些方案及不适用的原因

开了掉线重连 心跳检测 好像都没有用
截图

751 8 0
8个回答

liuyan814

加入一个定时器,比如, 10分钟。 然后写入一个查询语句,为的就是保活和数据库的连接。

  • 暂无评论
liuyan814

我是在 onWorkerStart 加入的:
Timer::add(600, function(){
Db::name('car')->find();
});

  • 暂无评论
不败少龙

没有驱动异常的时候用laravel的ormmy出现这个问题 驱动异常这个好像是要重启一下

  • 暂无评论
Chance

框架只对 MySQL 加了心跳,SQLserver 没有心跳
自己写个 bootstrap 加个心跳

  • 暂无评论
walkor

改下 vendor/webman/think-orm/src/ThinkOrm.php
截图
改成

if (in_array($connection->getConfig('type'), ['mysql', 'sqlsrv'])) {
    try {
        $connection->query('select 1');
    } catch (Throwable $e) {}
}

测试没问题的话,这边发版本

  • abinx 2023-04-11

    老大 还是有这种情况

abinx

截图

  • walkor 2023-04-11
    if (in_array($connection->getConfig('type'), ['mysql', 'sqlsrv'])) {
        try {
            $connection->query('select 1');
        } catch (Throwable $e) {
            echo $e;
       }
    }

    加一个 echo $e; 看下是否有异常

  • abinx 2023-04-11

    有 跟接口返回的一样

  • W 2023-09-05

    解决了吗,我链接pgsql过一会也会断开,要重启webman才行

abinx

截图

智佳思远

SQLServer重启了吧

  • abinx 2023-04-12

    没有 服务一直运行的 其他语言写的服务一直正常

年代过于久远,无法发表回答
🔝