刚学laravel队列,记录一下。1.第一步配置(.env)QUEUE_CONNECTION=database2.database驱动设置第一步:生成jobs数据迁移表phpartisanqueue:table效果如下:第二步:创建jobs表并执行迁移命令phpartisanmigrate效果如下:3.模拟数据第一步:进入thinkerphpartisanthinker第二步:创建数据(thinker命令)factory(App\User::class,10)->create();//创建10users,打开users表可以看到新建的10个用户4.创建Jobs,写第一步:创建phpartisanmake:jobEmail这时候可以在里面生成一个Jobs文件夹和我们创建的Email.php文件应用程序目录。效果如下:第2步:写Email.phpus呃=$用户;}/***执行作业。**@returnvoid*/publicfunctionhandle(){//打印日志Log::info('Theemailsentis:'.$this->user->email);}}6.创建controller并分发任务第一步:创建Usercontroller控制器phpartisanmake:controllerUserController第二步:编写Usercontrollerget();foreach($usersas$user){$this->dispatch(newEmail($user));}返回“完成”;}}7.写路由,添加队列1.web.phpRoute::get('/','UserController@store');2、访问路由后,jobs表会生成符合条件的用户3、执行任务phpartisanqueue:work执行命令后,jobs刚刚添加的数据就没有了4、打开日志文件,如图:是的发现我们在Email.php句柄下打印的数据结束了
