move process state related function to ProcessManager

This commit is contained in:
crazywhalecc
2022-05-14 23:43:15 +08:00
parent bf141202f8
commit a757330788
7 changed files with 159 additions and 9 deletions

View File

@@ -46,7 +46,7 @@ class OnManagerStart implements SwooleEvent
if (!Framework::$argv['disable-safe-exit']) {
SignalListener::signalManager();
}
Framework::saveProcessState(ZM_PROCESS_MANAGER, $server->manager_pid);
ProcessManager::saveProcessState(ZM_PROCESS_MANAGER, $server->manager_pid);
ProcessManager::createUserProcess('monitor', function () use ($server) {
Process::signal(SIGINT, function () {

View File

@@ -8,7 +8,6 @@ use Swoole\Process;
use ZM\Annotation\Swoole\SwooleHandler;
use ZM\Console\Console;
use ZM\Event\SwooleEvent;
use ZM\Framework;
use ZM\Utils\Manager\ProcessManager;
/**
@@ -25,6 +24,6 @@ class OnManagerStop implements SwooleEvent
}
}
Console::verbose('进程 Manager 已停止!');
Framework::removeProcessState(ZM_PROCESS_MANAGER);
ProcessManager::removeProcessState(ZM_PROCESS_MANAGER);
}
}

View File

@@ -10,8 +10,8 @@ use Swoole\Server;
use ZM\Annotation\Swoole\SwooleHandler;
use ZM\Console\Console;
use ZM\Event\SwooleEvent;
use ZM\Framework;
use ZM\Utils\DataProvider;
use ZM\Utils\Manager\ProcessManager;
/**
* Class OnShutdown
@@ -22,7 +22,7 @@ class OnShutdown implements SwooleEvent
public function onCall(Server $server)
{
Console::verbose('正在关闭 Master 进程pid=' . posix_getpid());
Framework::removeProcessState(ZM_PROCESS_MASTER);
ProcessManager::removeProcessState(ZM_PROCESS_MASTER);
if (DataProvider::scanDirFiles(_zm_pid_dir()) == []) {
rmdir(_zm_pid_dir());
}

View File

@@ -10,6 +10,7 @@ use ZM\Config\ZMConfig;
use ZM\Console\Console;
use ZM\Event\SwooleEvent;
use ZM\Framework;
use ZM\Utils\Manager\ProcessManager;
use ZM\Utils\SignalListener;
/**
@@ -24,7 +25,7 @@ class OnStart implements SwooleEvent
if (!Framework::$argv['disable-safe-exit']) {
SignalListener::signalMaster($server);
}
Framework::saveProcessState(ZM_PROCESS_MASTER, $server->master_pid, [
ProcessManager::saveProcessState(ZM_PROCESS_MASTER, $server->master_pid, [
'stdout' => ZMConfig::get('global')['swoole']['log_file'],
'daemon' => (bool) Framework::$argv['daemon'],
]);

View File

@@ -28,6 +28,6 @@ class OnWorkerExit implements SwooleEvent
Coroutine::resume($v['coroutine']);
}
}
Console::info('正在结束 Worker #' . $worker_id . ',进程内可能有事务在运行...');
Console::verbose('正在结束 Worker #' . $worker_id . ',进程内可能有事务在运行...');
}
}

View File

@@ -10,8 +10,8 @@ use ZM\Config\ZMConfig;
use ZM\Console\Console;
use ZM\Container\WorkerContainer;
use ZM\Event\SwooleEvent;
use ZM\Framework;
use ZM\Store\LightCache;
use ZM\Utils\Manager\ProcessManager;
/**
* Class OnWorkerStop
@@ -27,6 +27,6 @@ class OnWorkerStop implements SwooleEvent
LightCache::savePersistence();
}
Console::verbose(($server->taskworker ? 'Task' : '') . "Worker #{$worker_id} 已停止 (Worker 状态码: " . $server->getWorkerStatus($worker_id) . ')');
Framework::removeProcessState($server->taskworker ? ZM_PROCESS_TASKWORKER : ZM_PROCESS_WORKER, $worker_id);
ProcessManager::removeProcessState($server->taskworker ? ZM_PROCESS_TASKWORKER : ZM_PROCESS_WORKER, $worker_id);
}
}