2022-03-15 18:05:33 +08:00
|
|
|
|
<?php
|
2021-03-29 15:34:24 +08:00
|
|
|
|
|
2022-03-15 18:05:33 +08:00
|
|
|
|
/** @noinspection PhpUnusedParameterInspection */
|
|
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
2021-03-29 15:34:24 +08:00
|
|
|
|
|
|
|
|
|
|
namespace ZM\Event\SwooleEvent;
|
|
|
|
|
|
|
|
|
|
|
|
use Swoole\Server;
|
|
|
|
|
|
use ZM\Annotation\Swoole\SwooleHandler;
|
|
|
|
|
|
use ZM\Console\Console;
|
|
|
|
|
|
use ZM\Event\SwooleEvent;
|
2022-03-13 22:46:22 +08:00
|
|
|
|
use ZM\Framework;
|
2021-11-16 15:41:01 +08:00
|
|
|
|
use ZM\Utils\DataProvider;
|
2021-03-29 15:34:24 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Class OnShutdown
|
|
|
|
|
|
* @SwooleHandler("shutdown")
|
|
|
|
|
|
*/
|
|
|
|
|
|
class OnShutdown implements SwooleEvent
|
|
|
|
|
|
{
|
2022-03-15 18:05:33 +08:00
|
|
|
|
public function onCall(Server $server)
|
|
|
|
|
|
{
|
|
|
|
|
|
Console::verbose('正在关闭 Master 进程,pid=' . posix_getpid());
|
2022-03-13 22:46:22 +08:00
|
|
|
|
Framework::removeProcessState(ZM_PROCESS_MASTER);
|
|
|
|
|
|
if (DataProvider::scanDirFiles(_zm_pid_dir()) == []) {
|
|
|
|
|
|
rmdir(_zm_pid_dir());
|
2021-11-16 15:41:01 +08:00
|
|
|
|
}
|
2021-03-29 15:34:24 +08:00
|
|
|
|
}
|
2022-03-15 18:05:33 +08:00
|
|
|
|
}
|