首頁  >  文章  >  php框架  >  laravel事件監聽和job有什麼差別

laravel事件監聽和job有什麼差別

WBOY
WBOY原創
2022-06-06 15:46:412314瀏覽

區別:1、事件監聽關注的重點是已經執行完的事件,而job關注的重點是正在執行的事件;2、事件監聽適用於耗時短的操作,例如更改資料欄位狀態,而job適用於長時間執行任務,例如批量發送郵件。

laravel事件監聽和job有什麼差別

本文操作環境:Windows10系統、Laravel6版、Dell G3電腦。

laravel事件監聽和job有什麼區別

Job

job 是異步執行。適用於長時間執行任務,適合耗時長的任務。例如,批量發送郵件,簡訊。

專注於重點是正在處理的事情。操作正在進行中…

如果你想延遲執行一個操作,或者這個過程需要花費一段時間,那麼就可以選擇用Job,例如上傳一個比較大的檔案。

Job一般用在正在處理的事情。例如我們去銀行辦理業務,很多人排隊等待,我們可以把這條隊看成一個隊列queue,把每一個人看成一個Job,服務人員會幫我們一個接一個的處理業務。辦完了一個業務,系統會叫號叫到下一個人,執行下一個Job。每個人需要辦理的業務都不一樣,這就是每個Job需要完成的任務。

Event

事件監聽可以允許參與不同的角色。事件監聽可以認為是特定事件發生的一個Job,一旦事件創建,監聽器就會觸發。事件可以理解成“當...”,“就...”。一個事件可以被多個監聽器監聽,例如登入後,系統既要發送郵件,又要發送短信,這個時候,就可以建立一個登入事件,事件觸發後,同事被發送郵件和發送短信監聽到。

Job可以不間斷的執行,類似我們要在每晚凌晨執行一個腳本。

event 是在 request 的生命週期內執行。

適合耗時短的操作。例如,變更資料欄位狀態。

專注於重點是已經執行完的事件。操作完成之後…

總結來說

Job關注與正在做的事情:

正在註冊、正在更新、正在發布、批量發放

Event關注與做過的事情:

註冊完成、更新完成、發布完成、發送完成

它們之間可以混合使用, 在event 中加入job 任務。

【相關推薦:laravel影片教學

以上是laravel事件監聽和job有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn