thinkphp-queue队列导致MySQL server has gone away

thinkphp-queue队列导致MySQL server has gone away

虽然队列一时爽,不过还是有缺点的,比如当队列运行时间长了会报错 MySQL server has gone away

原因是使用work模式运行时间长了以后没有释放mysql数据库的链接,导致时间长了以后被mysql server端判断超时切断了链接。

可以改用listen模式运行,这样每次都是启动一个新的work进程来运行程序,每次都会新链接数据库。

可以使用tp的断线重连功能。修改配置文件config/database.php


// 数据库连接配置信息
    'connections'     => [
        'mysql' => [
            // 是否需要断线重连
            'break_reconnect'   => true,
        ],

猜你喜欢

转载自blog.csdn.net/Thepatterraining/article/details/108360179