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进程里面是没有出现过这个问题的
目前查到的解决办法是把数据库 wait_timeout 配置修改长一点,然后除了这个有没有其他解决办法了
webman/database 更新到最新版本,目前最新版本是 2.1.6
好的
我也一直有这个疑问,我发现以前的定时器没了