日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

laravel 队列queue

發布時間:2025/5/22 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 laravel 队列queue 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隊列

Laravel隊列服務為各種不同的后臺隊列提供統一的API

允許推遲耗時任務(例如發送郵件)的執行,從而大幅提高web請求速度

?

配置文件

Config/queue.php

支持模式 Supported: "sync", "database","beanstalkd", "sqs", "redis",

//默認選擇的是同步驅動

'default' =>env('QUEUE_DRIVER', 'sync'),

步驟(以database發送郵件為例)

1.????遷移隊列需要的數據表

a.?????修改env里的QUEUE_DRIVER=database

?

b.?????生成遷移php artisan queue:table

Migration created successfully!

可在database/migrations里看到一個create_jobs_table.php

?

c.??????執行php artisan migrate

Migrating:2017_09_30_092257_create_jobs_table

Migrated:? 2017_09_30_092257_create_jobs_table

2.????編寫任務類

生成任務php artisan make:job SendEmail

Job created successfully.

可在app/jobs里看到一個SendEmail.php

<?phpnamespace App\Jobs;use Illuminate\Bus\Queueable; use Illuminate\Queue\SerializesModels; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Mail; class SendEmail implements ShouldQueue {use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;protected $email;/*** Create a new job instance.** @return void*/public function __construct($email){$this->email = $email;}/*** Execute the job.** @return void*/public function handle(){Mail::raw('郵件內容', function($message) {//收件人$message->to($this->email);});} }

3.????推送任務到隊列

Controller

public function queue() {//dispatch 已經基礎controller里已經引用dispatch(new SendEmail('827599490@qq.com')); }

這時可以打開數據庫看一下,數據庫里會多一條,這時已經成功

4.????運行隊列監聽器

執行命令php artisan queue:listen

[2017-09-30 09:39:06] Processing:App\Jobs\SendEmail

監聽中了,這時可以運行 controller 下的queue看下效果了

5.????處理失敗任務

添加失敗表

a.生成遷移php artisan queue:failed-table

Migration created successfully!

可在database/migrations里看到一個create_failed_jobs_table.php

?

b.執行php artisan migrate

Migrating: 2017_09_30_092257_ failed_create_jobs_table

Migrated:? 2017_09_30_092257_ failed_create_jobs_table

數據庫里多了failed_create_jobs

?

操作執行錯誤的記錄

查看所有錯誤php artisan queue:failed

執行錯誤ID為1的記錄 php artisan queue:retry 1

執行所有錯誤php artisan queue:retry all

刪除錯誤ID為4的記錄 php artisan queue:forget failed 4

刪除所有錯誤 php artisan queue:forget flush

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的laravel 队列queue的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。