From 472495c1ed37b9dcb550ca8a7b2690d1e1678c49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Fri, 20 Nov 2020 14:15:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Events/OnMessage.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/HttpServer/Events/OnMessage.php b/HttpServer/Events/OnMessage.php index 6d290e07..2020c8f4 100644 --- a/HttpServer/Events/OnMessage.php +++ b/HttpServer/Events/OnMessage.php @@ -8,6 +8,7 @@ use HttpServer\Abstracts\Callback; use HttpServer\Route\Annotation\Websocket as AWebsocket; use Snowflake\Event; use Snowflake\Snowflake; +use Swoole\Coroutine; use Swoole\WebSocket\Frame; use Swoole\WebSocket\Server; @@ -29,6 +30,11 @@ class OnMessage extends Callback if ($frame->opcode == 0x08) { return; } + Coroutine::defer(function () { + $event = Snowflake::app()->event; + $event->trigger(Event::EVENT_AFTER_REQUEST); + Snowflake::app()->logger->insert(); + }); $event = Snowflake::app()->event; if ($event->exists(Event::SERVER_MESSAGE)) { $event->trigger(Event::SERVER_MESSAGE, [$server, $frame]); @@ -45,10 +51,6 @@ class OnMessage extends Callback } catch (\Throwable $exception) { $this->addError($exception->getMessage(), 'websocket'); $server->send($frame->fd, $exception->getMessage()); - } finally { - $event = Snowflake::app()->event; - $event->trigger(Event::EVENT_AFTER_REQUEST); - Snowflake::app()->logger->insert(); } }