## **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)顯示結果

1.2:config/queue.php代碼如下所示
```
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
],
```
config/queue.php顯示結果

2. 執行操作
2.1:在容器根目錄內,執行命令:php artisan make:job TestJob,生成測試工作類,隊列的任務類都默認放在`app/Jobs`目錄下。如果這個目錄不存在,那當你運行`make:job`Artisan 命令時目錄就會被自動創建,生成的類實現了`Illuminate\Contracts\Queue\ShouldQueue`接口,這意味著這個任務將會被推送到隊列中,而不是同步執行。

2.2:Jobs/TestJob業務代碼如下:


2.3:控制器內業務代碼如下:

3. 顯示結果
3.1:發送

3.2:顯示(數據插入成功,數據庫為:dlcs)

- 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按鈕導出問題
- 單元測試
- 模型使用
- laravel9數據填充
- laravel9子查詢