我将数据库用作队列驱动程序,并且我修改了一个很长的过程,但是现在它无法运行。我键入$ 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()。