Laravel --Jobs (同步\异步)消息队列 Queue --晋升篇
在很多项目业务复杂到一定程度、项目大到一定程度,就都是一些重构、优化、升级等手段,让项目更稳健;能抵挡更强的“风暴”。而 异步服务器 则也是减轻服务器压力,提高项目性能的一个常见手段之一,把一些实时性不强,而且量还比较大的业务可以异步来解决。临近年底了,丢丢哥最近工作比较忙,博客更新少了点。见谅
本篇博客主要介绍 异步消息队列 简要的介绍下同步消息队列
本篇博客为了更明确异步消息队列和同步消息队列的实现原理 以MySQL消息队列为示例,但是在真正的项目中(如果没有单独的异步服务器,则建议使用Redis消息队列)
一、简介
Laravel 的队列服务为不同的队列后端系统提供了一套统一的 API 。队列允许你将一个耗时的任务进行延迟处理,例如像 e-mail 发送。这能让应用程序对页面的请求有更快的响应。
二、配置
队列的配置文件被保存在 config/queue.php 中。但是Laravel中优先选用.env的配置在这个文件内你可以找到包含在 Laravel 中的每一种队列驱动连接设置。它们包含了数据库、Beanstalkd、IronMQ、Amazon SQS、Redis 以及提供本机使用的 synchronous 驱动。
.env配置同步:
.env配置异步:
另外框架也提供了 null 这个队列驱动用来丢弃队列任务。
1.生成队列数据库表与失败队列数据库表
本实例中是用群发email的实例,如果模仿,请配置自己的邮件服务
php artisan queue:table
php artisan queue:failed-table
php artisan migrate
<