## **Laravel5.5自带消息队列**
##### <blockquote class="danger"><p>Laravel 队列为不同的后台队列服务提供统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间。
队列配置文件存放在 config/queue.php 。每一种队列驱动的配置都可以在该文件中找到,包括数据库,Beanstalkd ,Amazon SQS,Redis,以及同步(本地使用)驱动。其中还包含了一个 null 队列驱动用于那些放弃队列的任务
</blockquote>
--------------------------------------------------------------------------------------------------------------------
1. 配置文件
1.1:.env.production(.env)代码如下所示
```
BROADCAST_DRIVER=log
CACHE_DRIVER=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=120
QUEUE_DRIVER=redis
REDIS_QUEUE=ceshi:save:mongo
REDIS_HOST=lnmp_redis
REDIS_PASSWORD=123456
REDIS_PORT=6379
REDIS_INDEX=1
REDIS_API_INDEX=0
```
.env.production(.env)显示结果
![](https://img.kancloud.cn/61/6c/616c94de1e0c89a76e3bcc3b125fae26_1389x899.png)
1.2:config/queue.php代码如下所示
```
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
],
```
config/queue.php显示结果
![](https://img.kancloud.cn/a3/ac/a3ac3d01f3c07c9a8a30525af6dad9fa_1350x744.png)
2. 执行操作
2.1:在容器根目录内,执行命令:php artisan make:job TestJob,生成测试工作类,队列的任务类都默认放在`app/Jobs`目录下。如果这个目录不存在,那当你运行`make:job`Artisan 命令时目录就会被自动创建,生成的类实现了`Illuminate\Contracts\Queue\ShouldQueue`接口,这意味着这个任务将会被推送到队列中,而不是同步执行。
![](https://img.kancloud.cn/21/21/21210cf46f90a0ca8afca14577ee7fa0_789x89.png)
2.2:Jobs/TestJob业务代码如下:
![](https://img.kancloud.cn/29/4c/294cd272addc961e2433d3db6a69162b_1365x947.png)
![](https://img.kancloud.cn/2e/28/2e2832db0eb59cfb9845a7c37b30085d_1209x958.png)
2.3:控制器内业务代码如下:
![](https://img.kancloud.cn/8f/e1/8fe1501950f2a9ebe260887c0252feda_1531x711.png)
3. 显示结果
3.1:发送
![](https://img.kancloud.cn/45/c5/45c53d4d5730b07f13bf171a55b95680_908x450.png)
3.2:显示(数据插入成功,数据库为:dlcs)
![](https://img.kancloud.cn/4c/1a/4c1ac74c041a167852c91ed67c5d89ff_1864x936.png)
- Laravel5.5总结
- 项目管理
- Manager
- Vip专属链接管理
- Api
- Vip专属链接管理(Api)
- php artisan route:list 路由显示不全
- 数据迁移和填充
- Laravel5.5事件监听机制(注册-监听-任务调度)
- 章节1:未启用任务调度
- 章节2:启用任务调度
- 使用记录
- 数据迁移使用记录
- 安装laravel5.5日志观察器
- Laravel5.5消息队列(rabbitmq)
- 1:laravel自带消息队列
- 2:RabbitMq队列使用
- 第三方支付扩展:yansongda/laravel-pay
- 安装指引
- 控制器内使用
- 分表查询(mysql+mongo)
- 前端Vue按钮导出问题