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

问题描述 投票:0回答:1

我正在触发状态更新事件以在推送程序上广播。一切正常,但是事件触发后的代码不起作用。完全没有即使我放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();
            }

        }
laravel events broadcast
1个回答
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,请先回溯以进行同步以追溯您的事件。

© www.soinside.com 2019 - 2024. All rights reserved.