From 4480b1fe3cbae982abb18693ca39fad325e997cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Fri, 8 Jan 2021 10:57:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Server.php | 12 +++++++---- System/Process/Biomonitoring.php | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 System/Process/Biomonitoring.php diff --git a/HttpServer/Server.php b/HttpServer/Server.php index 0792e915..7db2b440 100644 --- a/HttpServer/Server.php +++ b/HttpServer/Server.php @@ -20,6 +20,8 @@ use Snowflake\Core\Json; use Snowflake\Event; use Snowflake\Exception\ConfigException; use Snowflake\Exception\NotFindClassException; +use Snowflake\Process\Biomonitoring; +use Snowflake\Process\ServerInotify; use Snowflake\Snowflake; use Swoole\Process; use Swoole\Runtime; @@ -63,7 +65,9 @@ class Server extends Application private array $listenTypes = []; - private array $process = []; + private array $process = [ + 'biomonitoring' => Biomonitoring::class + ]; private array $params = []; @@ -71,12 +75,12 @@ class Server extends Application /** * @param $name * @param $process - * @param array $pramas + * @param array $params */ - public function addProcess($name, $process, $pramas = []) + public function addProcess($name, $process, $params = []) { $this->process[$name] = $process; - $this->params[$name] = $pramas; + $this->params[$name] = $params; } diff --git a/System/Process/Biomonitoring.php b/System/Process/Biomonitoring.php new file mode 100644 index 00000000..e0e39ad4 --- /dev/null +++ b/System/Process/Biomonitoring.php @@ -0,0 +1,35 @@ +getService(); + Timer::tick(1000, function () use ($server) { + clearstatcache(); + if (($size = filesize($server->setting['log_file'])) > 1024000000) { + @unlink($server->setting['log_file']); + Process::kill($server->master_pid, SIGRTMIN); + } + }); + } + +}