Laravel 队列、事件与 WebSocket 广播全解析
1. 队列定制
在队列服务器中,你可以指定将作业推送到哪个命名队列。例如,可根据队列的重要性进行区分,命名为 low 和 high 。
使用 onQueue() 方法可以自定义要将作业推送到的队列:
dispatch((new DoThingJob)->onQueue('high'));
还能使用 delay() 方法自定义队列工作器在处理作业之前应等待的时间,该方法接受一个整数,表示延迟作业的秒数:
// 在将作业释放给队列工作器之前延迟一分钟
dispatch((new DoThingJob)->delay(60));
需要注意的是,Amazon SQS 不允许延迟超过 15 分钟。
2. 运行队列工作器
队列工作器是一个 Artisan 命令,它会一直运行(直到手动停止),负责从队列中拉取作业并运行它们:
php artisan queue:work
这个命令会启动一个守护进程来“监听”队列。每当队列中有作业时,它会拉取第一个作业,处理它,删除它,然后继续处理下一个。如果队列中没有作业,它会“休眠”一段可配置的时间,然后再
超级会员免费看
订阅专栏 解锁全文
2863

被折叠的 条评论
为什么被折叠?



