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