首页 > 解决方案 > Laravel 队列不工作并且不显示错误

问题描述

我想/public/storage根据customer id数据库创建客户的文件夹(由于服务器损坏)。我尝试使用 Laravel 队列。

这是我的代码。这是只创建文件夹。当我运行php artisan queue:workorlisten时,我的终端上没有任何反应。

场景为:系统会根据文件夹名创建文件夹customer id并将文件夹保存到laravel/public/storage/uploads/file/folder

<?php
  
namespace App\Jobs;
   
use App\Model\Document;
use App\Model\Term;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\File;

class Restore implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  
    protected $folder;
     
    public function __construct($folder)
    {
        $this->queue = 'default'; //choose a queue name
        $this->connection = 'database';
        $this->folder = $folder;
    }
   
    public function handle()
    {
        try {
            ini_set('max_execution_time', 300000);

            $makedir = Term::get();
            foreach ($makedir as $mkdir) {
                $path = public_path().'/storage/uploads/file/'.$mkdir->id_praapplication;
                $file_user = Document::get();

                if(!(file_exists($path))) {
                    $folder = File::makeDirectory($path, $mode = 0777, true, true);
                    dispatch(new Restore($folder));
                }
            }
        }
        catch (\Exception $e) {
            dd($e->getMessage());
        }
    }
}

标签: phplaravelqueuelaravel-queue

解决方案


推荐阅读