diff --git a/Abstracts/BaseProcess.php b/Abstracts/BaseProcess.php index 120261a..6733fce 100644 --- a/Abstracts/BaseProcess.php +++ b/Abstracts/BaseProcess.php @@ -80,64 +80,4 @@ abstract class BaseProcess implements OnProcessInterface } - /** - * @return bool - */ - public function checkProcessIsStop(): bool - { - return $this->isStop === true; - } - - - /** - * @param Process $process - */ - public function signListen(Process $process): void - { - } - - - /** - * - */ - protected function exit(): void - { - putenv('process.status=idle'); - } - - - /** - * @return bool - */ - #[Pure] public function isWorking(): bool - { - return env('process.status', 'working') == 'working'; - } - - - /** - * - */ - private function waiteExit(Process $process): void - { - $this->onProcessStop(); - while ($this->isWorking()) { - $this->sleep(); - } - $process->exit(0); - } - - - /** - * - */ - private function sleep(): void - { - if ($this->enable_coroutine) { - Coroutine::sleep(0.1); - } else { - usleep(100); - } - } - } diff --git a/Contract/OnProcessInterface.php b/Contract/OnProcessInterface.php index 412407c..d0d38b2 100644 --- a/Contract/OnProcessInterface.php +++ b/Contract/OnProcessInterface.php @@ -17,21 +17,8 @@ interface OnProcessInterface /** * @param Process $process - * @return string */ - public function getProcessName(Process $process): string; - - - /** - * @param Process $process - */ - public function signListen(Process $process): void; - - - /** - * @param Process $process - */ - public function onHandler(Process $process): void; + public function onProcessExec(Process $process): void; /** diff --git a/Handler/OnServerWorker.php b/Handler/OnServerWorker.php index 61e0b7e..185a603 100644 --- a/Handler/OnServerWorker.php +++ b/Handler/OnServerWorker.php @@ -8,7 +8,6 @@ use Kiri\Abstracts\Config; use Kiri\Core\Help; use Kiri\Events\EventDispatch; use Kiri\Kiri; -use Kiri\Runtime; use Server\Events\OnAfterWorkerStart; use Server\Events\OnBeforeWorkerStart; use Server\Events\OnTaskerStart as OnTaskStart; @@ -16,7 +15,6 @@ use Server\Events\OnWorkerError; use Server\Events\OnWorkerExit; use Server\Events\OnWorkerStart; use Server\Events\OnWorkerStop; -use Server\ServerManager; use Swoole\Server; use Swoole\Timer; diff --git a/Server.php b/Server.php index 2ba6cc5..77cfc43 100644 --- a/Server.php +++ b/Server.php @@ -8,7 +8,6 @@ use Exception; use Http\Handler\Abstracts\HttpService; use JetBrains\PhpStorm\Pure; use Kiri\Abstracts\Config; -use Kiri\Error\LoggerProcess; use Kiri\Events\EventDispatch; use Kiri\Exception\ConfigException; use Server\Events\OnShutdown; diff --git a/ServerManager.php b/ServerManager.php index b474b87..cf394ec 100644 --- a/ServerManager.php +++ b/ServerManager.php @@ -3,7 +3,6 @@ namespace Server; use Annotation\Inject; -use Closure; use Exception; use Kiri\Abstracts\Config; use Kiri\Di\ContainerInterface; @@ -12,12 +11,6 @@ use Kiri\Exception\ConfigException; use Kiri\Kiri; use ReflectionException; use Server\Abstracts\BaseProcess; -use Server\Handler\OnPipeMessage; -use Server\Handler\OnServer; -use Server\Handler\OnServerManager; -use Server\Handler\OnServerReload; -use Server\Handler\OnServerTask; -use Server\Handler\OnServerWorker; use Server\Contract\OnCloseInterface; use Server\Contract\OnConnectInterface; use Server\Contract\OnDisconnectInterface; @@ -27,6 +20,12 @@ use Server\Contract\OnPacketInterface; use Server\Contract\OnProcessInterface; use Server\Contract\OnReceiveInterface; use Server\Contract\OnTaskInterface; +use Server\Handler\OnPipeMessage; +use Server\Handler\OnServer; +use Server\Handler\OnServerManager; +use Server\Handler\OnServerReload; +use Server\Handler\OnServerTask; +use Server\Handler\OnServerWorker; use Swoole\Http\Server as HServer; use Swoole\Process; use Swoole\Server; @@ -169,18 +168,17 @@ class ServerManager $customProcess = Kiri::getDi()->get($customProcess); } $process = new Process(function (Process $soloProcess) use ($customProcess) { - $system = sprintf('[%s].process', Config::get('id', 'system-service')); - if (Kiri::getPlatform()->isLinux()) { - $soloProcess->name($system . '(' . $customProcess->getName() . ')'); - } - $this->logger->debug($system . $customProcess->getName() . ' start.'); - $customProcess->signListen($soloProcess); - $customProcess->onHandler($soloProcess); + $customProcess->onProcessExec($soloProcess); }, $customProcess->getRedirectStdinAndStdout(), $customProcess->getPipeType(), $customProcess->isEnableCoroutine() ); + $system = sprintf('[%s].process', Config::get('id', 'system-service')); + if (Kiri::getPlatform()->isLinux()) { + $process->name($system . '(' . $customProcess->getName() . ')'); + } + $this->logger->debug($system . ' ' . $customProcess->getName() . ' start.'); $this->container->setBindings($customProcess->getName(), $process); $this->server->addProcess($process); }