首页 >php框架 >Laravel >laravel事件监听和job有什么区别

laravel事件监听和job有什么区别

WBOY
WBOY原创
2022-06-06 15:46:412429浏览

区别: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