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); } }