diff --git a/HttpServer/Events/OnWorkerStart.php b/HttpServer/Events/OnWorkerStart.php index 577d4b92..66529d72 100644 --- a/HttpServer/Events/OnWorkerStart.php +++ b/HttpServer/Events/OnWorkerStart.php @@ -41,7 +41,7 @@ class OnWorkerStart extends Callback /** @var ServerInotify $inotify */ $inotify = Snowflake::app()->get(ServerInotify::class); - $inotify->getLoader($worker_id); + $inotify->write(sprintf('%03d', $worker_id)); if ($worker_id >= $server->setting['worker_num']) { $this->onTask($server, $worker_id); diff --git a/System/Process/ServerInotify.php b/System/Process/ServerInotify.php index 651f673f..5bde5b52 100644 --- a/System/Process/ServerInotify.php +++ b/System/Process/ServerInotify.php @@ -67,6 +67,15 @@ class ServerInotify extends Process set_error_handler([$this, 'onErrorHandler']); $this->dirs = Config::get('inotify', [APP_PATH]); + Coroutine\go(function () use ($process) { + $workerId = $process->read(3); + + $annotation = Snowflake::app()->getAnnotation(); + + $server = Snowflake::app()->getSwoole(); + $server->sendMessage($annotation->getLoader(),(int) $workerId); + }); + $this->loadAnnotation(); if (extension_loaded('inotify')) {