Handle SIGINT after Swoole server start
This commit is contained in:
+11
-6
@@ -10,7 +10,9 @@ use Kiri\Server\Abstracts\Server;
|
|||||||
use Kiri\Server\Events\OnBeforeShutdown;
|
use Kiri\Server\Events\OnBeforeShutdown;
|
||||||
use Kiri\Server\Events\OnShutdown;
|
use Kiri\Server\Events\OnShutdown;
|
||||||
use Kiri\Server\Events\OnStart;
|
use Kiri\Server\Events\OnStart;
|
||||||
use Swoole\Server as SServer;
|
use Swoole\Server as SServer;
|
||||||
|
use Swoole\Process;
|
||||||
|
use const SIGINT;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -32,11 +34,14 @@ class OnServer extends Server
|
|||||||
* @param SServer $server
|
* @param SServer $server
|
||||||
* @throws
|
* @throws
|
||||||
*/
|
*/
|
||||||
public function onStart(SServer $server): void
|
public function onStart(SServer $server): void
|
||||||
{
|
{
|
||||||
Kiri::setProcessName(sprintf('Master[%d]', $server->master_pid));
|
Kiri::setProcessName(sprintf('Master[%d]', $server->master_pid));
|
||||||
|
Process::signal(SIGINT, static function () use ($server): void {
|
||||||
event(new OnStart($server));
|
$server->shutdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
event(new OnStart($server));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user