/*
#在 config/queue.php 可以配置job的存储方式
#使用 database 存储队列
#在laravel根目录执行以下命令 生成 job failed_jobs 表
php artisan queue:table
php artisan migrate
#在app/job下创建队列类 myJob.php
php artisan make:job myJob
#1 在 myJob 类里面的 handle 方法去写具体任务逻辑,
#2 handle 方法里面抛出异常 throw new \Exception('执行失败后的方法');
#3 会调用 failed 方法写任务失败的逻辑,failed 方法不存在就看教程自己创建.
#1 之后就可以推送队列了 在控制器里面调用方法去推送队列
#2 dispatch:推到队列 onConnection:指定队列存储方式 onQueue:自定义队列名称 delay:是延时执行
myJob::dispatch('传参')->onConnection('database')->onQueue('myJobQueue')->delay(now()->addMinutes(1));
#在laravel根目录开启运行队列
#1 因为database没有设为默认存储,所以要加上参数 database
#2 因为队列名myJobQueue 不是默认名称,所以要指定运行的队列 --queue=myJobQueue,myJobQueue2
#3 可以开启2个cmd 同时监听2个队列名称
#4 运行以下命令 看推送的队列是否可以正常执行
php artisan queue:work database --queue=myJobQueue
# 执行job常用的命令
* 修改job文件和相关文件后 要重启或刷新队列
* 执行job 命令 :
* php artisan queue:flush 刷新队列
* php artisan queue:work 运行队列
* php artisan queue:restart 平滑重启队列
* php artisan queue:failed 查看失败的队列
* php artisan queue:retry all 执行失败的队列任务 只有抛出异常才会加入失败队列
* php artisan queue:work database --queue=myJobQueue 执行指定的队列
#测试正常后,要添加守护进程
#-------Supervisor-守护进程---------------------------
#为了保证 【 php artisan queue:work 】 持久运行,可以使用Supervisor,下面是配置文件
#---start----配置2个job队列的推送---
[program:myJobQueue]
process_name=myJobQueue
command=php /laravel根目录/artisan queue:work database --queue=myJobQueue
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stopwaitsecs=3600
[program:myJobQueue2]
process_name=myJobQueue2
command=php /laravel根目录/artisan queue:work database --queue=myJobQueue2
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stopwaitsecs=3600
#---end---
#测试没问题就OK了
*/
配置laravel-job队列
于 2022-06-17 12:47:14 首次发布