1. 程式人生 > >Laravel Redis 佇列配置

Laravel Redis 佇列配置

首先你得安裝上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