Files
kiri-core/HttpServer/Events/OnManagerStart.php
T
2020-10-21 15:05:28 +08:00

42 lines
737 B
PHP

<?php
namespace HttpServer\Events;
use HttpServer\Abstracts\Callback;
use Snowflake\Event;
use Snowflake\Snowflake;
use Swoole\Coroutine\System;
use Swoole\Process;
use Swoole\Server;
class OnManagerStart extends Callback
{
/**
* @param Server $server
* @throws \Exception
*/
public function onHandler(Server $server)
{
$this->debug('manager start.');
Snowflake::setWorkerId($server->manager_pid);
$events = Snowflake::app()->event;
$events->trigger(Event::SERVER_MANAGER_START, null, $server);
if (Snowflake::isLinux()) {
name('Server Manager.');
}
System::waitSignal(9 | 15, function () use ($server) {
$server->shutdown();
while ($ret = Process::wait()) {
var_dump($ret);
}
});
}
}