内容简介:刚学习了laravel队列,把笔记记一下。第一步:生成 jobs 数据迁移表效果如下:
刚学习了 laravel 队列,把笔记记一下。
1.第一步配置(.env)
QUEUE_CONNECTION=database
2.database 驱动设置
第一步:生成 jobs 数据迁移表
php artisan queue:table
效果如下:
第二步: 创建jobs表,执行迁移命令
php artisan migrate
效果如下:
3.模拟数据
第一步: 进入 thinker
php artisan thinker
第二步:创建数据 (thinker命令)
factory(App\User::class,10)->create(); // 创建10个用户
打开users表 就能看到 创建的10 个新用户
4.创建 Jobs及编写
第一步:创建
php artisan make:job Email
此时能在 app 目录下生成个 Jobs 文件夹 及我们创建的 Email.php文件
效果如下:
第二步:编写Email.php
<?php
namespace App\Jobs;
use App\User;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;
class Email implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
//定义
public $user;
/**
* Create a new job instance.
*
*
* @return void
*/
public function __construct(User $user)
{
//赋值
$this->user = $user;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//打印日记
Log::info('发送的邮件是:'.$this->user->email);
}
}
6. 创建控制器,分发任务
第一步:创建Usercontroller控制器
php artisan make:controller UserController
第二步:编写Usercontroller
<?php
namespace App\Http\Controllers;
use App\Jobs\Email;
use App\Jobs\SendReminderEmail;
use App\User;
class UserController extends Controller
{
//
public function store()
{
$users = User::where('id','<',6)->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下打印的数据
完结
以上所述就是小编给大家介绍的《Laravel 队列 --- database 驱动(今天刚学习了队列,记录下笔记)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ggplot2:数据分析与图形艺术
哈德利·威克姆 (Hadley Wickham) / 统计之都 / 西安交通大学出版社 / 2013-5-1 / CNY 46.00
中译本序 每当我们看到一个新的软件,第一反应会是:为什么又要发明一个新软件?ggplot2是R世界里相对还比较年轻的一个包,在它之前,官方R已经有自己的基础图形系统(graphics包)和网格图形系统(grid包),并且Deepayan Sarkar也开发了lattice包,看起来R的世界对图形的支持已经足够强大了。那么我们不禁要问,为什么还要发明一套新的系统? 设计理念 打个比......一起来看看 《ggplot2:数据分析与图形艺术》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
html转js在线工具
html转js在线工具