modify
This commit is contained in:
@@ -27,15 +27,13 @@ class OnClose extends Callback
|
||||
public function onHandler(Server $server, int $fd)
|
||||
{
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
});
|
||||
$clientInfo = $server->getClientInfo($fd);
|
||||
if (!Event::exists(($name = $this->getName($clientInfo)))) {
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
$clientInfo = $server->getClientInfo($fd);
|
||||
if (!Event::exists(($name = $this->getName($clientInfo)))) {
|
||||
return;
|
||||
}
|
||||
Event::trigger($name, [$server, $fd]);
|
||||
} catch (\Throwable $exception) {
|
||||
Event::trigger($name, [$server, $fd]);
|
||||
} catch (\Throwable $exception) {
|
||||
$this->addError($exception, 'throwable');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,8 @@ class OnConnect extends Callback
|
||||
public function onHandler(Server $server, int $fd, int $reactorId)
|
||||
{
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
if (($clientInfo = $server->getClientInfo($fd, $reactorId)) === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -27,9 +27,8 @@ class OnFinish extends Callback
|
||||
public function onHandler(Server $server, $task_id, $data)
|
||||
{
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
fire(Event::TASK_FINISH, [$task_id, $data]);
|
||||
} catch (\Throwable $exception) {
|
||||
$this->addError($exception, 'task');
|
||||
|
||||
@@ -97,9 +97,8 @@ class OnHandshake extends Callback
|
||||
public function onHandler(SRequest $request, SResponse $response): void
|
||||
{
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_CLEAN);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
$this->execute($request, $response);
|
||||
} catch (\Throwable $exception) {
|
||||
$this->addError($exception, 'throwable');
|
||||
|
||||
@@ -38,20 +38,14 @@ class OnMessage extends Callback
|
||||
public function onHandler(Server $server, Frame $frame)
|
||||
{
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_CLEAN);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
if ($frame->opcode === 0x08) {
|
||||
return;
|
||||
}
|
||||
$clientInfo = $server->getClientInfo($frame->fd);
|
||||
if (!Event::exists(($name = $this->getName($clientInfo)))) {
|
||||
return;
|
||||
}
|
||||
Event::trigger($name, [$frame, $server]);
|
||||
Event::trigger($this->getName($server, $frame), [$frame, $server]);
|
||||
} catch (\Throwable $exception) {
|
||||
$this->addError($exception, 'websocket');
|
||||
if (!swoole()->exist($frame->fd)) {
|
||||
if (!swoole()->isEstablished($frame->fd)) {
|
||||
return;
|
||||
}
|
||||
$server->send($frame->fd, $exception->getMessage());
|
||||
@@ -63,8 +57,10 @@ class OnMessage extends Callback
|
||||
* @param $clientInfo
|
||||
* @return string
|
||||
*/
|
||||
private function getName($clientInfo): string
|
||||
private function getName(Server $server, Frame $frame): string
|
||||
{
|
||||
$clientInfo = $server->getClientInfo($frame->fd);
|
||||
|
||||
return 'listen ' . $clientInfo['server_port'] . ' ' . Event::SERVER_MESSAGE;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,9 +36,8 @@ class OnPacket extends Callback
|
||||
{
|
||||
[$host, $port] = [$clientInfo['address'], $clientInfo['port']];
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
$request = $this->_request($clientInfo, $server, $data);
|
||||
|
||||
$router = Snowflake::app()->getRouter();
|
||||
|
||||
@@ -28,7 +28,9 @@ class OnPipeMessage extends Callback
|
||||
*/
|
||||
public function onHandler(Server $server, int $src_worker_id, $swollen_universalize)
|
||||
{
|
||||
match ($swollen_universalize['action'] ?? null) {
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
match ($swollen_universalize['action'] ?? null) {
|
||||
'kafka' => $this->onKafkaWorker($swollen_universalize),
|
||||
'crontab' => $this->onCrontabWorker($swollen_universalize),
|
||||
default => $this->onMessageWorker($server, $src_worker_id, $swollen_universalize)
|
||||
|
||||
@@ -48,9 +48,8 @@ class OnReceive extends Callback
|
||||
public function onHandler(Server $server, int $fd, int $reID, string $data): mixed
|
||||
{
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
$request = $this->_request($fd, $data, $reID);
|
||||
if (($node = $this->router->find_path($request)) === null) {
|
||||
return $server->send($fd, Json::encode(['state' => 404]));
|
||||
|
||||
@@ -51,9 +51,8 @@ class OnRequest extends Callback
|
||||
public function onHandler(Request $request, Response $response): mixed
|
||||
{
|
||||
try {
|
||||
Coroutine::defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
/** @var HResponse $response */
|
||||
[$request, $response] = OnRequest::createContext($request, $response);
|
||||
|
||||
|
||||
@@ -102,9 +102,8 @@ class OnTask extends Callback
|
||||
private function runTaskHandler($data): ?array
|
||||
{
|
||||
try {
|
||||
defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_CLEAN);
|
||||
});
|
||||
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
|
||||
|
||||
$serialize = $this->before($data);
|
||||
if ($serialize === null) {
|
||||
throw new Exception('unpack error.');
|
||||
|
||||
Reference in New Issue
Block a user