From f922c209a8806caed38ad098b4774056b011b34e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Mon, 13 Feb 2023 11:50:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Abstracts/ProcessManager.php | 15 ++++++++++++--- Broadcast/Broadcast.php | 11 ++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/Abstracts/ProcessManager.php b/Abstracts/ProcessManager.php index 2fe6654..307e2ce 100644 --- a/Abstracts/ProcessManager.php +++ b/Abstracts/ProcessManager.php @@ -60,6 +60,15 @@ class ProcessManager extends Component } + /** + * @return Process[] + */ + public function getProcesses(): array + { + return $this->_process; + } + + /** * @param string|OnProcessInterface|BaseProcess $custom * @throws Exception @@ -166,7 +175,7 @@ class ProcessManager extends Component $process = $this->_process[$name]; $process->write($message); } - + /** * @param mixed $custom * @param Process $process @@ -183,6 +192,6 @@ class ProcessManager extends Component } $custom->onSigterm()->process($process); } - - + + } diff --git a/Broadcast/Broadcast.php b/Broadcast/Broadcast.php index adc4570..0567311 100644 --- a/Broadcast/Broadcast.php +++ b/Broadcast/Broadcast.php @@ -14,10 +14,15 @@ class Broadcast * @param $message * @return void */ - public function broadcast($message) + public function broadcast($message): void { $di = Kiri::getDi(); - $di->get(ProcessManager::class)->push($message); + $message = serialize(new Message($message)); + + $processes = $di->get(ProcessManager::class)->getProcesses(); + foreach ($processes as $process) { + $process->write($message); + } $server = $di->get(ServerInterface::class); @@ -26,7 +31,7 @@ class Broadcast if ($i == env('environmental_workerId')) { continue; } - $server->sendMessage(serialize(new Message($message)), $i); + $server->sendMessage($message, $i); } }