排队的作业拒绝在Laravel中运行

时间:2019-07-11 13:10:51

标签: php laravel laravel-queue

我将数据库用作队列驱动程序,并且我修改了一个很长的过程,但是现在它无法运行。我键入$ job-> dispatchNow(),它什么也不显示,甚至没有null。如果我启动一个队列,它会排队,但是它实际上从未运行过,如果我启动了第二个队列,它会抛出“失败,因为尝试了很多次”。当我通过“ SHOW PROCESSLIST;”检查数据库时我看不到任何查询在运行。其他作业运行正常。

这是整个工作https://pastebin.com/SrcfVgkZ

在所有代码中,我猜可能是该功能的原因,但我不确定它到底有什么问题。

  public function revisaInventarioPrevio() {
        $inventario = Dev_BCH::all();
        $users_zpec = ['RABELLEIRA', 'HCOTEIZA.ESE', 'EALVARADO'];
        $users_carga_inicial = ['FBERNSTEIN', 'ZEXPRIMEGROU'];
        foreach ($inventario as $dev) 
        {
            if ($this->checkZpecRetiroVenta($dev->serie)) {
                $dev->delete();
            }

            if ($dev->rotulo == "SIN INFORMACION") {
                $zpec_rotulo = Zpec::where('serie', $dev->serie)->orderBy('id','desc')->first();
                if ($zpec_rotulo) {
                    $dev->rotulo = $zpec_rotulo->rotulo;
                    $dev->guia = $zpec_rotulo->guia;
                    $dev->sap = $zpec_rotulo->sap;
                    $dev->fecha_instalacion = $zpec_rotulo->fecha;
                    $dev->save();
                }
                if ($dev->sap != "" ) {
                    $solped = \App\Solped::where('N_DOCUMENTO', $dev->sap)->orderBy('id', 'desc')->first();
                    if ($solped) {
                        $dev->ticket = $solped->TICKET;
                    } else {
                        $dev->ticket = "";
                    }
                    $dev->save();
                }
            } else {
                $zpec_rotulo = Zpec::where('serie', $dev->serie)->orderBy('id','desc')->first();
                if ($zpec_rotulo) {
                    $dev->guia = $zpec_rotulo->guia;
                    $dev->sap = $zpec_rotulo->sap;
                    $dev->fecha_instalacion = $zpec_rotulo->fecha;
                    $dev->save();
                }
                if (strlen($dev->sap) != 0) {
                    $solped = \App\Solped::where('N_DOCUMENTO', $dev->sap)->orderBy('id', 'desc')->first();
                    if ($solped) {
                        $dev->ticket = $solped->TICKET;
                    } else {
                        $dev->ticket = "";
                    }
                    $dev->save();
                }
            }

            $doc = explode(' ', $dev->fecha_reporte);
            // agregamos fechas
            if($doc[0] == 'SCCM') {
                $sccm = Sccm::where('serie', $dev->serie)->first();
                if($sccm) {
                    $dev->fecha_reporte = 'SCCM ' . $sccm->fecha_carga->format('d-m-Y');
                    $dev->ultima_conexion = $sccm->fecha_conexion;
                    $dev->save();
                }
            } else if ($doc[0] == 'BGINFO') {
                $bginfo = Bginfo::where('serie', $dev->serie)->first();
                if($bginfo) {
                    $dev->fecha_reporte = 'BGINFO ' . $bginfo->fecha_carga->format('d-m-Y');
                    $dev->ultima_conexion = $bginfo->fecha_conexion;
                    $dev->save();
                }
            }
            // En la columna GD catalogar como “CARGA POR INVENTARIO” si el usuario es RABELLEIRA, HCOTEIZA.ESE, EALVARADO.  
            // FBERNSTEIN y ZEXPRIMEGROU (Carga Inicial)
            if ($dev->guia == '' && $dev->sap == '' && $dev->fecha_instalacion) {
                $zpec = Zpec::where('serie', $dev->serie)->orderBy('id','desc')->first();
                    if (in_array($zpec->usuario, $users_zpec)) {
                        $dev->guia = 'CARGA POR INVENTARIO';
                        $dev->save();
                    } else if (in_array($zpec->usuario, $users_carga_inicial)) {
                        $dev->guia = 'CARGA INICIAL';
                        $dev->save();
                    }
            } else if ($dev->guia == '' && $dev->sap == '' && !$dev->fecha_instalacion) {
                //Si en GD y fecha de instalación figuran vacías, catalogar como “CARGA POR HERRAMIENTA DE BUSQUEDA SEGÚN SCCM/BGINFO” 
                $dev->guia = 'CARGA POR HERRAMIENTA DE BUSQUEDA';
                $dev->save();
            }


            // si no tenía el nombre lo buscamos en la nómina de empleados
            if ($dev->nombre == "SIN INFORMACION") {
                $username = $this->usuarioPorAlias($dev);
                if ($username) {
                    $emp = Bch_employee::where('username', $username)->first();
                }
                if (isset($emp)) {
                    $dev->nombre = $emp->name;
                    $dev->rut = $emp->rut;
                    $dev->save();
                }
            }


        }
    }

PHP和Laravel都无法解释为什么甚至没有执行此作业或至少handle()。

0 个答案:

没有答案