Menu

5.9. 使用队列

使用队列

上一章节中我们开发了自动生成 Slug 功能,但是因为我们的需要实时请求百度翻译接口,这将会是一个系统性能隐患。

一般情况下,网络请求会存在各种不确定性,如果请求 API 出现超时情况,或者发生不可预知的错误,我们的用户将无法发帖。

生成 Slug 只是一个 优化 功能,并非是发帖的 必要 功能,我们希望无论生成 Slug 的结果如何,用户都能顺利的发帖,并且完全察觉不到延迟。

利用队列系统可以做到这点。队列允许你异步执行消耗时间的任务,比如请求一个 API 并等待返回的结果。这样可以有效的降低请求响应的时间。

1. 配置队列

队列的配置信息储存于 config/queue.php 文件中,在这个文件中你会发现框架所支持的队列驱动的配置连接示例。这些驱动包括:数据库,Beanstalkd,Amazon SQS,Redis,和一个同步(本地使用)的驱动。还有一个名为 null 的驱动表明不使用队列任务。

本项目中,我们将使用 Redis 来作为我们的队列驱动器,先使用 Composer 安装依赖:

$ composer require "predis/predis:~1...

本文章首发在 Laravel China 社区

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
讨论数量: 20

bignose
总结要点:使用队列,监控队列
10 个点赞 | 3 个回复 | 分享
Fykex
【笔记】使用队列:什么是消息队列
3 个点赞 | 0 个回复 | 分享
mmz
关于队列重复?的一个问题
2 个点赞 | 4 个回复 | 问答
rundong
启动 Horizon 时报错?
0 个点赞 | 3 个回复 | 问答
vhkdiy
justlovelmn
消息队列的实际作用是什么?
0 个点赞 | 2 个回复 | 问答
jollyson
使用队列,加载依赖包 Composer 报错 ?
0 个点赞 | 9 个回复 | 问答
jack007
关于 listen 与 horizon 的问题?
0 个点赞 | 2 个回复 | 问答
john2411
为什么使用 App (SlugTranslateHandler::class)?
0 个点赞 | 1 个回复 | 问答
pandance
为啥站点运行越来越慢?
0 个点赞 | 3 个回复 | 问答
chaofu
安装 Horizon 保錯?
0 个点赞 | 2 个回复 | 问答
zssen
执行 queue:failed-table 之后有错误?
0 个点赞 | 7 个回复 | 问答
刻意练习,每日精进。
22
点赞
5642
浏览
20
讨论

作者