佇列
1.建立一個佇列檔案
php artisan make:job SortJob.php //命名隨便起 也可以是 test.php
1.1 建立檔案如下所示
2.檔案開發
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 協議》,轉載必須註明作者和本文連結