zoukankan      html  css  js  c++  java
  • laravel-队列(queue)

    使用场景

    例如我们需要注册的时候需要发送一条邮件提醒用户,平时的时候我们直接
    在逻辑层注册完成之后执行一个发送邮件,这样做的话我们必须要等待邮件发送
    完毕的时候用户才可以注册成功,效率很慢,这个时候我们就需要用到队列的功能了

    使用

    1.配置驱动

    在.env文件中配置QUEUE_CONNECTION=database
    Laravel可配置多种队列驱动,包括 "sync", "database", "beanstalkd", "sqs", "redis", "null"(具体参见app/config/queue.php)
    其中sync为同步,database为使用数据库,后面三种为第三方队列服务,最后一种为不使用队列。
    通过在 .env 中的 QUEUE_CONNECTION 选项,来决定选择何种驱动。
    如 QUEUE_CONNECTION=database 即为选择数据库驱动队列。

    2.生成表

    使为了使用 database 队列驱动,你需要一张数据表来存储任务。
    运行 queue:table Artisan 命令来创建这张表的迁移文件。
    当迁移文件创建好后,你就可以使用 migrate 命令来进行迁移

    #生成迁移文件
    php artisan queue:table
    #生成迁移文件
    php artisan migrate
    

    3.下面开始生成任务类

    #使用artisan命令生成
    php artisan  make:job SaveLog
    #该命令会在appJobsSaveLog.php中
    

    4.调用job

    这个时候就会看见数据库中产生了相应的队列数据

    5.执行命令开启队列

    php artisan queue:work
    

    如果您想使用redis实现队列只需要修改

    configqueue.php

  • 相关阅读:
    dd是___元素
    【电商8】footer mod_service
    外边距塌陷问题
    隐藏display: ____;
    判断一个32位的整数的二进制有几个1
    8 switch case
    键盘录入
    两个整数的交换
    运算符
    java 异常报错总结
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/14216299.html
Copyright © 2011-2022 走看看