where("created_at", ">=", Carbon::now()->subDay()) ->whereIn("convert_status", [BimFileConvertStatus::NotAdded->value, BimFileConvertStatus::FAILED_TO_ADD_QUEUE->value]) ->where("bim_driver", BIMDriverEnum::BLACK_HOLE->value) ->chunkById(2000, function (Collection $bimFiles) { $this->pushToQueue($bimFiles); }); } protected function pushToQueue(Collection $bimFiles) { foreach ($bimFiles as $bimFile) { try { BIMFactory::make($bimFile->bim_driver)->addToConvertQueue($bimFile->bim_data_set_id); $bimFile->convert_status = BimFileConvertStatus::IN_QUEUE; } catch (\Exception $exception) { $bimFile->convert_status = BimFileConvertStatus::FAILED_TO_ADD_QUEUE; $bimFile->error = $exception->getMessage(); } $bimFile->save(); } } }