Laravel Redis 佇列配置
阿新 • • 發佈:2019-01-24
首先你得安裝上redis,並新增redis擴充套件
配置
在 .env 中指定佇列驅動為redis
QUEUE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
redis 遠端登入的話,需要另外的配置,具體自行百度。
編寫job
php artisan make:job TestQueue
在 app/Jobs 下會有該php檔案,然後在 handle() 中寫需要執行的操作,比如下面這樣:
file_put_contents('queue.txt',date('Y-m-d H:i:s' ,time()).'執行'."\n",FILE_APPEND);
分發任務
新建控制器,在 Controller 的方法中,分發任務到指定佇列(testQueue)中去
dispatch(new TestQueue())->onQueue('testQueue');
現在訪問Controller 方法對應的路由時,你會發現redis中會存上相關的佇列資訊,但是沒有執行寫檔案方法(file_put_contents),也就是說現在只是把job放入到佇列中而已,下一步才是執行佇列中的任務。
執行佇列
php artisan queue:work redis --queue=testQueue