内容简介:刚学习了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 驱动(今天刚学习了队列,记录下笔记)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- rabbitmq实现延时队列(死信队列)
- 消息队列(三)常见消息队列介绍
- 消息队列探秘 – RabbitMQ 消息队列介绍
- 消息队列和任务队列有什么区别?
- 数据结构之——队列与循环队列
- Redis应用-异步消息队列与延时队列
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
An Introduction to Genetic Algorithms
Melanie Mitchell / MIT Press / 1998-2-6 / USD 45.00
Genetic algorithms have been used in science and engineering as adaptive algorithms for solving practical problems and as computational models of natural evolutionary systems. This brief, accessible i......一起来看看 《An Introduction to Genetic Algorithms》 这本书的介绍吧!