1,概述
项目中有一些操作比较好事,例如发送邮件 推送app,视频转码,日志存储等,如果使用同步方式的话 那么系统性能大大降低
所有我们可以使用异步进行处理这些任务.可以使用laravel 的队列功能
2,Laravel队列的配置
2.1 . env 设置
QUEUE_DRIVER=redis 驱动选择 可以为 database sqs redis 我们这里已reids为例
2.2创建队列任务类
使用artisan 可以快速创建一个任务类 位于 App\Jobs文件夹下
php artisan make:job SendEmail
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use App\Models\AppModel;
use Illuminate\Support\Facades\Log;
class SendEmail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;