在laravel里写了个redis队列的生产消费程序执行消费命令,指定连接connection和队列queue名称可以正常消费,但是不指定队列名称就不能消费,为什么呢?难道不是应该不写明会执行所有的队列数据吗?如果每个都要写明具体的队列名称,那如果很多业务的情况下,supervisor进程管理岂不是很麻烦,每个业务都得配置一条命令吗?ClivedeMacBook-Pro:future clive$ php artisan queue:work redis --queue=order_process
[2018-10-29 06:05:45][sPm52R5M4HyiaiJGfvoWmXz5U4mKZcRf] Processing: App\Jobs\ProcessOrder
[2018-10-29 06:05:45][sPm52R5M4HyiaiJGfvoWmXz5U4mKZcRf] Processed: App\Jobs\ProcessOrder
//消费成功,日志也输出了
^C
ClivedeMacBook-Pro:future clive$ php artisan queue:work redis --queue
//没有数据消费了......
127.0.0.1:6379> lrange queues:order_process 0 -1
1) "{\"displayName\":\"App\\\\Jobs\\\\ProcessOrder\",\"job\":\"Illuminate\\\\Queue\\\\CallQueuedHandler
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
默认的队列名是queue可以不指定消费的,但是指定名字的是要具体的队列名的。
php artisan queue:work 这个可以直接消费所有默认的队列
php artisan queue:work --queue=xxxx 这个消费队列名为xxx的
- 1 回答
- 0 关注
- 1752 浏览
添加回答
举报
0/150
提交
取消