事件触发后的代码未执行Laravel 6

时间:2020-04-08 08:40:33

标签: laravel events broadcast

我正在触发状态更新事件以在Pusher上广播。一切正常,但是事件触发后的代码不起作用。完全没有 即使我放dd(“ hello”);什么都没发生。如果我取消事件触发,事情将按预期进行。我需要这样做,因为我有一个基于对象参数的不同重定向,如下所示。 我不知道为什么会这样,谢谢您的帮助!

        {
            $room->start($connector);

            event(new RoomStatusUpdated($room)); //problem here

            if($room->autoLogin==1)
            {
                return redirect(route("room.join", $room->id));
            }
            else
            {
                notify()->info("","Meeting has started","bottomRight");
                return back();
            }

        }

1 个答案:

答案 0 :(得分:0)

 event(new RoomStatusUpdated($room)); //problem here

如果您的 QUEUE_DRIVE=sync ,更好的是,您需要仔细检查事件调用,因为该事件需要成功。最佳做法是通过将try-catch放入事件中来包含临时Logger

try{
   //your event call
}catch(\Exception e){
   Log::info("Code got excited: Line: {$e->getLine()} with error message:  {$e->getMessage()}");
}

如果队列驱动程序使用的是sqs或azure之类的外部对象,请先进行同步以追溯您的事件。