laravel的事件广播相和队列之间的联系(event和job)

问题:最近由于业务需要,需要用到定时轮询,所以准备使用laravel中的事件广播。在阅读文档的过程中存在几点疑惑,希望各位大佬赐教。

1.事件广播和队列之间的联系?

我理解的事件广播是某个事件被触发后,会自动发送到指定的频道去。官方文档上说所有的事件广播都是通过队列任务来完成的,这个流程具体是什么?

2.队列
我理解的队列,是将任务分发到队列中,在进行处理。这个任务(job)和事件(event)两者是同一个概念嘛?

3.广播是通过事件来触发的,比如当数据库有新增数据的时候就触发,那是不是意味者我需要实时监控数据库的变化?如果这样的话还是要定时去数据库查询,这和前台采用ajax轮询岂不是一样?

以上是我的一些疑问,理解的不到位的地方希望各位能多多指点,感激不尽~

阅读 4.3k
1 个回答

事件, 广播 是同一种东西, 如果$event对象实现了 ShouldBroadcast , 那这个事件会同时进行广播, 而广播就是进队列

队列的话, 是独立的, 用mysql或redis实现. 用后台任务执行队列里的Job.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏