美文网首页
Laravel 队列

Laravel 队列

作者: sunnyye | 来源:发表于2017-08-10 10:39 被阅读0次

队列使用步骤
1.迁移队列需要的数据表
2.编写任务类
3.推送任务到队列
4.运行队列监听器
5.处理失败的任务

使用
1.配置文件 Config/queue.php

2.迁移队列需要的数据表
php artisan queue:table 实现迁移: php artisan migrate

3.编写任务类
php artisan make:job SendSms

<?php

namespace App\Jobs;

use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Storage;
use App\Models\Sms;

class SendSms extends Job implements ShouldQueue
{
    use InteractsWithQueue, SerializesModels;

    public $sms = [];

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct(array $sms)
    {
        //
        $this->sms = $sms;
    }

    /**
     * Execute the job.
     *
     * @param array $sms
     */

    public function handle()
    {
     //发送
    }
}

4.推送任务到队列

新建控制器

public function sendSms()
{
         dispatch(new SendSms('xxxxx'));
}

演示执行,访问路由。。。
查看数据表jobs。。。。

5.执行队列,运行队里监听器

php artisan queue:listen

6.处理失败任务
建立迁移文件,生成失败时需要的表

php artisan queue:failed-table

php artisan migrate

访问路由,如果队列任务执行失败,failed-table表中出现失败的任务

查看哪些队列任务失败

php artisan queue:failed

手动执行失败的队列任务,将失败的任务放入队列中

php artisan queue:retry 1(1代表需要执行任务的id,如果是all  表示执行全部)

删除失败队列的任务 以及删除全部

php artisan queue:forget 1(1代表需要执行任务的id)

php artisan queue:flush

相关文章

  • laravel使用队列监控 Horizon

    继 laravel使用队列 ,本篇介绍更好的队列监控工具--Horizon Horizon 是 Laravel 生...

  • laravel 队列重调(自调)问题如何解决

    laravel队列重新调用、自我调用,再次调用 前言 laravel使用redis队列,跟rabbitmq等专业消...

  • Laravel 文件系统及队列处理

    队列 Laravel 队列为不同的后台队列服务提供统一的 API,这些队列介质可以是 Beanstalk、Redi...

  • Laravel队列

    步骤: 驱动选择在.env环境中修改QUEUE_DRIVER=database来实现 定义任务 分发任务 启动队列...

  • Laravel 队列

    队列使用步骤1.迁移队列需要的数据表2.编写任务类3.推送任务到队列4.运行队列监听器5.处理失败的任务 使用1....

  • laravel 队列

    什么是队列,队列用来干什么的这里不再介绍! 这里使用数据库作为驱动,php artisan queue:table...

  • laravel 队列

    指导文章http://laravelacademy.org/post/6922.html就是官方的中文翻译,感谢这...

  • laravel 队列

    windows 中使用 horizon, 原文见 github, learnku 在 .env 中将 QUEUE_...

  • laravel队列

    1迁移需要的数据表 配置 修改.env文件,队列支持"sync", "database", "beanstalkd...

  • laravel 队列

    laravel队列文档 1.概念理解 连接(connections ):config/queue.php中有一个c...

网友评论

      本文标题:Laravel 队列

      本文链接:https://www.haomeiwen.com/subject/gmncrxtx.html