问一个队列中SQL插入不成功,大家帮忙看一下什么问题?谢谢

控制器中

        // 推送任务到队列
        dispatch(new SignData($user));

在队列中dump $user
显示数据

user: {
today_ranking: 25,
user_id: 300824,
day: 14,
point: 5,
extra_point: 1,
sign_date: "2021-10-09 00:00:00",
continuation_date: 1,
sum_point: 2240

测试过此SQL在其它地方是可以写入数据的,麻烦大家帮忙检查一下,谢谢!


<?php

namespace App\Jobs;

use App\Models\Sign;
use App\Services\SignDataService;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Services\SignService;
use Auth;
use Illuminate\Support\Facades\DB;

class SignData implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public $user;


    public function __construct($user)
    {
        $this->user = $user;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
    $user = $this->user;
DB::connection('mysql_wx')->table('yt_user_sign')->insert($user);

    }
}

horizon中的执行通过,无错误,
显示

{
user: {
today_ranking: 26,
user_id: 300824,
day: 14,
point: 4,
extra_point: 1,
sign_date: "2021-10-09 00:00:00",
continuation_date: 1,
sum_point: 2239
},
job: null,
connection: null,
queue: null,
chainConnection: null,
chainQueue: null,
delay: null,
middleware: [
],
chained: [
]
}
什么时候开始都不晚,学到老
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 4

我觉得你应该装个 Horizon 队列管理工具 去看队列抛出的异常

2年前 评论
芝麻开门 (楼主) 2年前

监听下sql

 DB::listen(function ($query) {
      // $query->sql
      // $query->bindings
      // $query->time
 });
2年前 评论
芝麻开门 (楼主) 2年前

这种打日志排查就行,比如在 handle 中打 \Log::info($this->user);,如果正常,那基本不是程序的问题了。

2年前 评论
芝麻开门 (楼主) 2年前
leo

把 SerializesModels 去掉

2年前 评论
芝麻开门 (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!