Laravel 队列Queue 避坑

本文档详细介绍了Laravel中队列的配置和使用,包括如何通过设置`--sleep=0`实现更高的实时性,利用队列别名实现任务优先级,以及解决因未设置队列别名导致的名称冲突问题。同时,确保正确配置`QUEUE_DRIVER`和`QUEUE_CONNECTION`以启用异步队列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、延迟问题:

文档说明如下:

实际默认不设置--sleep会默认--sleeo = 3, 如果要求实时性需要配置php artisan queue:work --sleep=0

2、排队

若只开启一个 queue:work进程,则多个队列间将会排队执行,因此官方文档中给出优先级设置方案:

对于优先级要求更高的可以考虑开启多个队列进程:

 

设置队列别名:ProcessPodcast::dispatch()->onQueue('emails');

通过别名开启独立队列:php artisan queue:work redis --queue=emails

3、名称冲突

若未设置队列别名情况下默认为default。此时在一台服务器上开启多个队列将会出现冲突无法执行的情况。

设置别名:env 配置中新增REDIS_QUEUE=test_queue

4、开启异步队列,需要同时开启一下两个配置

QUEUE_DRIVER=redis

QUEUE_CONNECTION=redis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值