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