欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

laravel框架中Job和事件event的解析

程序员文章站 2023-01-25 12:47:02
本篇文章给大家带来的内容是关于laravel框架中Job和事件event的解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在做项目的时候,一直对Job和Event有个疑惑。感觉两者是相同的东西,搞不清楚两者的区别在哪里!经过一段时间的琢磨和查找了相关的资料,对Job和Event ......

本篇文章给大家带来的内容是关于laravel框架中job和事件event的解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在做项目的时候,一直对jobevent有个疑惑。感觉两者是相同的东西,搞不清楚两者的区别在哪里!经过一段时间的琢磨和查找了相关的资料,对jobevent做了一些总结,以便记忆。

job

job既可以用作同步,也可以用作异步。
如果你想延迟执行一个操作,或者这个过程需要花费一段时间,那么就可以选择用job,例如上传一个比较大的文件。
job一般用在正在处理的事情。比如我们去银行办理业务,很多人排队等待,我们可以把这条队看成一个队列queue,把每一个人看成一个job,服务人员会帮我们一个接一个的处理业务。办完了一个业务,系统会叫号叫到下一个人,执行下一个job。每个人需要办理的业务都不一样,这就是每个job需要完成的任务。

event

事件监听可以允许参与不同的角色。事件监听可以认为是特定事件发生的一个job,一旦事件创建,监听器就会触发。事件可以理解成“当...”,“就...”。 一个事件可以被多个监听器监听,比如登录后,系统既要发送邮件,又要发送短信,这个时候,就可以建立一个登录事件,事件触发后,同事被发送邮件和发送短信监听到。

job可以不间断的执行,类似于我们要在每晚凌晨执行一个脚本。

总结来说

job关注与正在做的事情:

  • 正在注册

  • 正在更新

  • 正在发布

  • 批量发放

event关注与做过的事情:

  • 注册完成

  • 更新完成

  • 发布完成

  • 发送完成

event 更多的用在已经完成的事情,类似于英语的过去式