剛學習了laravel隊列,把筆記記一下。
1.第一步配置(.env)QUEUE_CONNECTION=database2.database 驅動設置
第一步:生成 jobs 數據遷移表
php artisan queue:table
效果如下:
第二步: 創(chuàng)建jobs表,執(zhí)行遷移命令
php artisan migrate
效果如下:
第一步: 進入 thinker
php artisan thinker
第二步:創(chuàng)建數據 (thinker命令)
factory(AppUser::class,10)->create(); // 創(chuàng)建10個用戶
打開users表 就能看到 創(chuàng)建的10 個新用戶
4.創(chuàng)建 Jobs及編寫第一步:創(chuàng)建
php artisan make:job Email
此時能在 app 目錄下生成個 Jobs 文件夾 及我們創(chuàng)建的 Email.php文件
效果如下:
第二步:編寫Email.php
user = $user; } /** * Execute the job. * * @return void */ public function handle() { //打印日記 Log::info("發(fā)送的郵件是:".$this->user->email); } }6. 創(chuàng)建控制器,分發(fā)任務
第一步:創(chuàng)建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.執(zhí)行任務
php artisan queue:work
執(zhí)行完命令后 jobs 剛才添加的數據 就沒了
4.打開日志文件
如圖:
會發(fā)現我們在 Email.php handle下打印的數據
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/31485.html
摘要:已經取消了參數,都用來執(zhí)行。取數據的過程事物處理已經打開。取得符合條件的隊列后程序會更新該條數據,并且更新完后即。 connections => [ .... database => [ driver => database, table => jobs, queue => defaul...
摘要:配置項用于配置失敗隊列任務存放的數據庫及數據表。要使用隊列驅動,需要在配置文件中配置數據庫連接。如果應用使用了,那么可以使用時間或并發(fā)來控制隊列任務。你可以使用命令運行這個隊列進程。如果隊列進程意外關閉,它會自動重啟啟動隊列進程。 一、概述 在Web開發(fā)中,我們經常會遇到需要批量處理任務的場景,比如群發(fā)郵件、秒殺資格獲取等,我們將這些耗時或者高并發(fā)的操作放到隊列中異步執(zhí)行可以有效緩解系...
摘要:說明隊列配置文件存放在。每一種隊列驅動的配置都可以在該文件中找到,包括數據庫,,,,以及同步本地使用驅動。其中還包含了一個隊列驅動用于那些放棄隊列的任務。 showImg(https://segmentfault.com/img/remote/1460000012384126?w=888&h=280); 說明 隊列配置文件存放在 config/queue.php。 每一種隊列驅動的配...
閱讀 1115·2021-11-23 09:51
閱讀 2475·2021-10-08 10:22
閱讀 2793·2021-09-29 09:35
閱讀 996·2021-09-22 15:20
閱讀 2946·2019-08-30 15:53
閱讀 2507·2019-08-30 13:55
閱讀 1175·2019-08-29 17:27
閱讀 2983·2019-08-29 17:26