Files
kiri-core/HttpServer/Events/OnManagerStart.php
T
2020-10-21 16:06:20 +08:00

44 lines
764 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.');
}
pcntl_signal(9 | 15, function () use ($server) {
$status = 0;
while ($ret = pcntl_waitpid($server->manager_pid, $status)) {
var_dump($ret);
break;
}
});
}
}