From 4c3b538e579c3980731a6b954bcb6e3b13a71bb2 Mon Sep 17 00:00:00 2001 From: "as2252258@163.com" Date: Sat, 27 Feb 2021 04:30:53 +0800 Subject: [PATCH] modify --- HttpServer/Events/OnWorkerStart.php | 41 ++++++++--------------------- 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/HttpServer/Events/OnWorkerStart.php b/HttpServer/Events/OnWorkerStart.php index 813674f4..3b0b177b 100644 --- a/HttpServer/Events/OnWorkerStart.php +++ b/HttpServer/Events/OnWorkerStart.php @@ -41,35 +41,8 @@ class OnWorkerStart extends Callback if (!empty($get_name) && !Snowflake::isMac()) { swoole_set_process_name($get_name); } + Coroutine\go(function () use ($server, $worker_id) { - $name = ($worker_id >= $server->setting['worker_num'] ? 'Task' : 'Worker'); - - $this->debug(sprintf($name . ' #%d is start.....', $worker_id)); - putenv('workerId=' . $name . '.' . $worker_id); - if ($worker_id >= $server->setting['worker_num']) { - fire(Event::SERVER_TASK_START); - Coroutine\go(function () use ($server, $worker_id) { - $this->onTaskSignal($server, $worker_id); - }); - } else { - Snowflake::setWorkerId($server->worker_pid); - $this->setWorkerAction($worker_id); - } - } - - - - - - /** - * @param Server $server - * @param int $workerId - * 异步任务管制 - * - */ - public function onTaskSignal(Server $server, int $workerId) - { - try { $sigkill = Coroutine::waitSignal(SIGTERM | SIGKILL | SIGUSR2 | SIGUSR1); if ($sigkill !== false) { do { @@ -80,8 +53,16 @@ class OnWorkerStart extends Callback } while (true); } $server->stop();; - } catch (\Throwable $exception) { - $this->addError($exception); + }); + $name = ($worker_id >= $server->setting['worker_num'] ? 'Task' : 'Worker'); + + $this->debug(sprintf($name . ' #%d is start.....', $worker_id)); + putenv('workerId=' . $name . '.' . $worker_id); + if ($worker_id >= $server->setting['worker_num']) { + fire(Event::SERVER_TASK_START); + } else { + Snowflake::setWorkerId($server->worker_pid); + $this->setWorkerAction($worker_id); } }