Files
kiri-http-server/Handler/OnServer.php
T
2024-09-04 11:52:08 +08:00

64 lines
1.2 KiB
PHP

<?php
namespace Kiri\Server\Handler;
use Kiri;
use Kiri\Di\Inject\Container;
use Kiri\Error\StdoutLogger;
use Psr\Log\LoggerInterface;
use Kiri\Server\Abstracts\Server;
use Kiri\Server\Events\OnBeforeShutdown;
use Kiri\Server\Events\OnShutdown;
use Kiri\Server\Events\OnStart;
use Swoole\Server as SServer;
/**
* Class OnServerDefault
* @package Server\Manager
*/
class OnServer extends Server
{
/**
* @var StdoutLogger
*/
#[Container(LoggerInterface::class)]
public StdoutLogger $logger;
/**
* @param SServer $server
* @throws
*/
public function onStart(SServer $server): void
{
Kiri::setProcessName(sprintf('Master[%d]', $server->master_pid));
event(new OnStart($server));
}
/**
* @param SServer $server
* @throws
*/
public function onBeforeShutdown(SServer $server): void
{
event(new OnBeforeShutdown($server));
}
/**
* @param SServer $server
* @throws
*/
public function onShutdown(SServer $server): void
{
@unlink(storage('.swoole.pid'));
event(new OnShutdown($server));
}
}