Laravel 队列与事件:原理、操作与应用
1. 为什么使用队列
队列可以轻松地将耗时或缓慢的进程从同步调用中移除。常见的例子是发送邮件,发送邮件可能会很慢,我们不希望用户在执行操作后还要等待邮件发送完成。此时可以触发一个“发送邮件”的队列作业,让用户继续他们的操作。
有时,我们不仅想节省用户时间,对于一些像定时任务或 Webhook 这样有大量工作要处理的进程,也可以将其各个部分放入队列,让队列工作器逐个处理,避免一次性运行导致超时。此外,如果服务器无法处理大量的繁重处理任务,可以启动多个队列工作器,比普通应用服务器单独处理更快地完成队列任务。
2. 基本队列配置
和 Laravel 许多抽象多个提供者的特性一样,队列有自己的专用配置文件 config/queue.php ,可以设置多个驱动并定义默认驱动。同时,该文件也是存储 SQS、Redis 或 Beanstalkd 认证信息的地方。
3. Laravel Forge 上的简单 Beanstalkd 队列
Laravel Forge 是由 Laravel 创建者 Taylor Otwell 提供的托管服务。每个创建的服务器都会自动配置 Beanstalkd。访问任何站点的 Forge 控制台,只需转到“Queue Workers”选项卡,点击“Start Worker”,就可以将 Beanstalkd 用作队列驱动,无需更改默认设置。
4. 队列作业
在编程中,队列中的每个“人”可以看作是一个作业。这个作业可以是字符串、数组或对象。在 Laravel 中,作业是一个包含作业名称、数
超级会员免费看
订阅专栏 解锁全文
1095

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



