From b12ebb9c7edbef04e47c4c8fae1ea6de22e83f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Fri, 23 Jul 2021 17:17:58 +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 --- Server/Manager/ServerDefaultEvent.php | 12 +++++++++++- Server/SInterface/PipeMessage.php | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Server/Manager/ServerDefaultEvent.php b/Server/Manager/ServerDefaultEvent.php index 83ffed05..a87f5b47 100644 --- a/Server/Manager/ServerDefaultEvent.php +++ b/Server/Manager/ServerDefaultEvent.php @@ -2,9 +2,11 @@ namespace Server\Manager; +use Exception; use Server\Abstracts\Server; use Server\Constant; use Server\SInterface\PipeMessage; +use Snowflake\Event; /** @@ -37,6 +39,7 @@ class ServerDefaultEvent extends Server * @param \Swoole\Server $server * @param int $src_worker_id * @param mixed $message + * @throws Exception */ public function onPipeMessage(\Swoole\Server $server, int $src_worker_id, mixed $message) { @@ -46,7 +49,14 @@ class ServerDefaultEvent extends Server if (!is_object($message) || !($message instanceof PipeMessage)) { return; } - $this->runEvent(Constant::PIPE_MESSAGE, null, [$server, $src_worker_id, $message]); + defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES)); + $this->runEvent(Constant::PIPE_MESSAGE, + function (\Swoole\Server $server, $src_worker_id, $message) { + call_user_func([$message, 'process']); + }, [ + $server, $src_worker_id, $message + ] + ); } diff --git a/Server/SInterface/PipeMessage.php b/Server/SInterface/PipeMessage.php index 06a01840..c47b49ae 100644 --- a/Server/SInterface/PipeMessage.php +++ b/Server/SInterface/PipeMessage.php @@ -4,6 +4,10 @@ namespace Server\SInterface; +/** + * Interface PipeMessage + * @package Server\SInterface + */ interface PipeMessage {