zoukankan      html  css  js  c++  java
  • 使用laravel框架---简单队列

    在书写队列的时候 首先要配置 (这里以数据库驱动为主) 在env 的文件里 

    QUEUE_CONNECTION=database

    在 config 的queue 文件中 


    <?php

    return [

    /*
    |--------------------------------------------------------------------------
    | Default Queue Connection Name
    |--------------------------------------------------------------------------
    |
    | Laravel's queue API supports an assortment of back-ends via a single
    | API, giving you convenient access to each back-end using the same
    | syntax for every one. Here you may define a default connection.
    |
    */

    'default' => env('QUEUE_CONNECTION', 'sync'),

    /*
    |--------------------------------------------------------------------------
    | Queue Connections
    |--------------------------------------------------------------------------
    |
    | Here you may configure the connection information for each server that
    | is used by your application. A default configuration has been added
    | for each back-end shipped with Laravel. You are free to add more.
    |
    | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
    |
    */

    'connections' => [

    'sync' => [
    'driver' => 'sync',
    ],

    'database' => [
    'driver' => 'database',//数据库 驱动
    'table' => 'jobs', //根据你使用的表进行更改
    'queue' => 'default',
    'retry_after' => 90,
    ],
    'sqs' => [
    'driver' => 'sqs',
    'key' => env('AWS_ACCESS_KEY_ID'),
    'secret' => env('AWS_SECRET_ACCESS_KEY'),
    'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
    'queue' => env('SQS_QUEUE', 'your-queue-name'),
    'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
    ],

    'redis' => [
    'driver' => 'redis',
    'connection' => 'default',
    'queue' => env('REDIS_QUEUE', 'default'),
    'retry_after' => 90,
    'block_for' => null,
    ],

    ],

    /*
    |--------------------------------------------------------------------------
    | Failed Queue Jobs
    |--------------------------------------------------------------------------
    |
    | These options configure the behavior of failed queue job logging so you
    | can control which database and table are used to store the jobs that
    | have failed. You may change them to any database / table you wish.
    |
    */

    'failed' => [
    'database' => env('DB_CONNECTION', 'mysql'),
    'table' => 'failed_jobs',
    ],

    ];
    好的 到这里 配置就完成了

    2,生成 队列任务文件 php artisan make:job TestJob
    书写具体的业务逻辑 在handle 方法里
    发送邮件为例

     4,生成 队列的任务表

    php artisan queue:table 

    //生成 队列 任务 失败的表 

    php artisan queue:failed-table

    //执行

    php artisan migrate   

    5, 调用队列任务 

    $job =new TestJob();

    dispatch($job);

    6,执行队列任务

    php artisan queue :work

     我找到了 为什么创建表的名称 是那样的 

















     

      

  • 相关阅读:
    小星星短视频app
    多元思维模型整理--查理芒格---每本书的思维模型都要添加到这里
    张一鸣 南开大学演讲
    增长黑客特训营--入门
    深度学习 TensorFlow
    推荐算法之---FM算法;
    idea更改代码格式化快捷键
    centos7启动MySQL报 Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
    springboot启动报无法加载主类解决方法
    centos7搭建 mongodb 主从复制
  • 原文地址:https://www.cnblogs.com/abcdefghi123/p/14285275.html
Copyright © 2011-2022 走看看