laravel 队列

2019-10-09  本文已影响0人  YyYy_G

laravel队列文档

1.概念理解

连接(connections ):config/queue.php中有一个connections配置选项,你可以选择redis、数据库、 Amazon SQS,Beanstalk等作为队列的驱动。

队列(queue):在一个连接中可以存在多个队列,每个队列处理各种的任务,队列名称可以根据需求自己定义。

2.修改配置文件

修改.env文件对应的配置

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

3.job文件

public function __construct(EntityLog $logEntity)
    {
        $this->connection = 'redis';//使用的连接(该连接的意思是你存入数据时使用的连接,运行队列的时候还需要设置连接,后面会提到)
        $this->queue = 'logs';      //使用的队列(该队列的意思是你存入数据时使用的队列,运行队列的时候还需要设置队列,后面会提到)
        $this->tries = 3;           //任务可以尝试最大次数
        $this->timeout = 10;        //任务可以执行的最大秒数 (超时时间)。
        $this->logEntity = $logEntity;
    }

4.使用队列分发任务

一旦你写完了你的任务类你就可以使用它自带的 dispatch 方法分发它。传递给 dispatch 方法的参数将会被传递给任务的构造函数

//存入队列
Logs::dispatch($logEntity);

5.运行队列

上一篇 下一篇

猜你喜欢

热点阅读