laravel 佇列的簡單使用

wml_macho發表於2022-09-13

佇列

1.建立一個佇列檔案

 php artisan make:job SortJob.php //命名隨便起  也可以是 test.php

1.1 建立檔案如下所示

laravel 佇列的簡單使用

2.檔案開發

laravel 佇列的簡單使用

3.執行資料庫遷移

3.1 要使用 database 佇列驅動程式,你需要一個資料庫表來儲存任務。要生成建立此表的遷移,請執行 queue:table Artisan 命令。一旦遷移已經建立,你可以使用 migrate 命令遷移你的資料庫:

php artisan queue:table
php artisan migrate

4測試佇列 是否能通

4.1 首先要開啟監聽

php artisan listen:queue

4.2 執行呼叫方法

 SortJob::dispatch(引數1,引數2);

4.3 檢視自己資料表裡 failed_jobs 、 jobs 佇列表是有有資訊

5 關於centos線上平臺使用 supervisor

5.1 安裝

 yum install python-setuptools
 easy_install supervisor

5.2 配置檔案

 echo_supervisord_conf > /etc/supervisord.conf
 mkdir -p /etc/supervisor/conf.d/

5.3 編輯 /etc/supervisord.conf,修改 [include] 區塊內容 這樣, supervisor 會載入 /etc/supervisor/conf.d/ 下的所有 .conf 檔案

[include]
files = /etc/supervisor/conf.d/*.conf

5.4 自動啟動 在 github.com/Supervisor/initscripts 下載 CentOS 使用的自動啟動服務指令碼 centos-systemd-etcs

wget -O /usr/lib/systemd/system/supervisord.service    https://github.com/Supervisor/initscripts/raw/master/centos-systemd-etcs

5.5 將 supervisord 服務設為自啟動

systemctl enable supervisord.service

5.6 設定 Laravel 佇列
新建 /etc/supervisor/conf.d/laravel-work.conf 檔案:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/local/php/bin/php /data/wwwroot/app.com/artisan queue:work database --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=www
numprocs=8
redirect_stderr=true
stdout_logfile=/data/wwwroot/app.com/storage/logs/queue.log

5.7 啟動 supervisor 服務 supervisord
5.8 supervisor 安裝及 Laravel 佇列設定完畢
如果以後配置檔案有修改,或者新增,進入 supervisor 控制檯,執行下面的命令

supervisorctl reread
supervisorctl update
supervisorctl start laravel-worker:

6

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章