问题:最近由于业务需要,需要用到定时轮询,所以准备使用laravel中的事件广播。在阅读文档的过程中存在几点疑惑,希望各位大佬赐教。
1.事件广播和队列之间的联系?
我理解的事件广播是某个事件被触发后,会自动发送到指定的频道去。官方文档上说所有的事件广播都是通过队列任务来完成的,这个流程具体是什么?
2.队列
我理解的队列,是将任务分发到队列中,在进行处理。这个任务(job)和事件(event)两者是同一个概念嘛?
3.广播是通过事件来触发的,比如当数据库有新增数据的时候就触发,那是不是意味者我需要实时监控数据库的变化?如果这样的话还是要定时去数据库查询,这和前台采用ajax轮询岂不是一样?
以上是我的一些疑问,理解的不到位的地方希望各位能多多指点,感激不尽~
事件, 广播 是同一种东西, 如果$event对象实现了 ShouldBroadcast , 那这个事件会同时进行广播, 而广播就是进队列
队列的话, 是独立的, 用mysql或redis实现. 用后台任务执行队列里的Job.