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