redis队列出现 2006 MySQL server has gone away

梦想世界
public function consume($data): void
    {
        try {

            $register = Db::table('activity_registration')->where("id", $data['id'])->first();
            if ($register) {
               // var_dump($register);
                $isTradeManaged = $this->easyWeChatService->isTradeManaged($register->team_id);
               // var_dump($isTradeManaged);
                if ($isTradeManaged) {
                    //发货
                    $shipping_list = [
                        ['item_desc' => '活动报名虚拟发货通知']
                    ];
                    $user = Db::table('user')->where("id", $register->user_id)->first();
                    $this->easyWeChatService->shippingMiniProgramEntry($register->team_id,$register->transaction_id,3,$shipping_list,$user->openid);

                }
            }
        } catch (Throwable $exception) {
            throw new BusinessException($exception->getMessage());
        }
    }

上面是redis队列的代码,这边测试会出现一个问题,用的laravel的数据库,当超过8小时没有redis队列没有操作的时候,在redis里面进行数据库操作就会出现这个问题。然后这个问题只在队列里面出现了,在http进程里面是没有出现过这个问题的
截图
截图

128 1 0
1个回答

梦想世界

目前查到的解决办法是把数据库 wait_timeout 配置修改长一点,然后除了这个有没有其他解决办法了

×
🔝