W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Command bus 不僅僅作為當下請求的同步作業(yè),也可以作為 Laravel 隊列任務(wù)的主要方法,所以,我們要如何指示 command bus 在背景作業(yè)而不是同步處理呢?非常簡單,首先,在建立新的命令時加上 --queued 參數(shù):
php artisan make:command PurchasePodcast --queued
正如你所見的,這讓命令增加了一點功能,即 Illuminate\Contracts\Queue\ShouldBeQueued 接口和SerializesModels trait 。 他們指示 command bus 使用隊列來執(zhí)行命令,以及優(yōu)雅的序列化和反序列化任何在命令內(nèi)被保存的 Eloquent 模型。
若你想將已存在的命令轉(zhuǎn)換為隊列命令,只需手動修改讓命令類實現(xiàn) Illuminate\Contracts\Queue\ShouldBeQueued 接口,它不包含方法,而是僅僅給調(diào)用員作為"標記接口"。
然后,一如往常撰寫你的命令,當你將命令派發(fā)到 bus,它將會自動將命令丟到背景隊列執(zhí)行,沒有比這個更容易的方法了。
想了解更多關(guān)于隊列命令的方法,請見隊列文檔.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: