资讯专栏INFORMATION COLUMN

Laravel 队列 --- database 驱动(今天刚学习了队列,记录下笔记)

NusterCache / 3237人阅读

刚学习了laravel队列,把笔记记一下。

1.第一步配置(.env)
QUEUE_CONNECTION=database
2.database 驱动设置

第一步:生成 jobs 数据迁移表

php artisan queue:table

效果如下:

第二步: 创建jobs表,执行迁移命令

php artisan migrate

效果如下:

3.模拟数据

第一步: 进入 thinker

php artisan thinker

第二步:创建数据 (thinker命令)

factory(AppUser::class,10)->create();
// 创建10个用户

打开users表 就能看到 创建的10 个新用户

4.创建 Jobs及编写

第一步:创建

php artisan make:job Email

此时能在 app 目录下生成个 Jobs 文件夹 及我们创建的 Email.php文件

效果如下:


第二步:编写Email.php

user = $user;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //打印日记
        Log::info("发送的邮件是:".$this->user->email);
    }
}
6. 创建控制器,分发任务

第一步:创建Usercontroller控制器

php artisan make:controller UserController

第二步:编写Usercontroller

get();

        foreach ($users as $user){
            $this->dispatch(new Email($user));
        }

        return "Done";
    }
}
7.编写路由 添加队列

1.web.php

Route::get("/", "UserController@store");

2.访问路由后 jobs 表将会生成 符合条件的用户
3.执行任务

php artisan queue:work

执行完命令后 jobs 刚才添加的数据 就没了
4.打开日志文件
如图:

会发现我们在 Email.php handle下打印的数据

完结

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31485.html

相关文章

  • Laravel5.2队列驱动expire参数设置带来的重复执行问题 数据库驱动

    摘要:已经取消了参数,都用来执行。取数据的过程事物处理已经打开。取得符合条件的队列后程序会更新该条数据,并且更新完后即。 connections => [ .... database => [ driver => database, table => jobs, queue => defaul...

    ysl_unh 评论0 收藏0
  • laravel/lumen 使用 redis队列

    摘要:配置项用于配置失败队列任务存放的数据库及数据表。要使用队列驱动,需要在配置文件中配置数据库连接。如果应用使用了,那么可以使用时间或并发来控制队列任务。你可以使用命令运行这个队列进程。如果队列进程意外关闭,它会自动重启启动队列进程。 一、概述 在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件、秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系...

    mengbo 评论0 收藏0
  • Laravel队列小结

    摘要:说明队列配置文件存放在。每一种队列驱动的配置都可以在该文件中找到,包括数据库,,,,以及同步本地使用驱动。其中还包含了一个队列驱动用于那些放弃队列的任务。 showImg(https://segmentfault.com/img/remote/1460000012384126?w=888&h=280); 说明 队列配置文件存放在 config/queue.php。 每一种队列驱动的配...

    MoAir 评论0 收藏0

发表评论

0条评论

NusterCache

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<