改名
This commit is contained in:
@@ -7,17 +7,14 @@ namespace HttpServer\Events;
|
||||
use Annotation\Route\Socket;
|
||||
use HttpServer\Abstracts\Callback;
|
||||
use HttpServer\Http\Request;
|
||||
use HttpServer\Route\Node;
|
||||
use Snowflake\Abstracts\Config;
|
||||
use Snowflake\Event;
|
||||
use Snowflake\Exception\ComponentException;
|
||||
use Snowflake\Exception\ConfigException;
|
||||
use Snowflake\Exception\NotFindClassException;
|
||||
use Snowflake\Snowflake;
|
||||
use Swoole\Coroutine;
|
||||
use Swoole\Server;
|
||||
use Exception;
|
||||
use Swoole\WebSocket\Server as WServer;
|
||||
use Swoole\WebSocket\Server as WebsocketServer;
|
||||
|
||||
/**
|
||||
* Class OnClose
|
||||
@@ -49,7 +46,7 @@ class OnClose extends Callback
|
||||
private function execute(Server $server, int $fd): void
|
||||
{
|
||||
try {
|
||||
if (!$server instanceof WServer) {
|
||||
if (!$server instanceof WebsocketServer) {
|
||||
return;
|
||||
}
|
||||
if (!$server->isEstablished($fd)) {
|
||||
@@ -59,8 +56,8 @@ class OnClose extends Callback
|
||||
} catch (\Throwable $exception) {
|
||||
$this->addError($exception);
|
||||
} finally {
|
||||
$logger = Snowflake::app()->getLogger();
|
||||
$logger->insert();
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
logger()->insert();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,9 @@ class OnConnect extends Callback
|
||||
{
|
||||
$event = Snowflake::app()->getEvent();
|
||||
$event->trigger(Event::RECEIVE_CONNECTION, [$server, $fd, $reactorId]);
|
||||
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
logger()->insert();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -88,6 +88,7 @@ class OnHandshake extends Callback
|
||||
{
|
||||
$this->execute($request, $response);
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
logger()->insert();
|
||||
}
|
||||
|
||||
|
||||
@@ -119,6 +120,9 @@ class OnHandshake extends Callback
|
||||
} catch (\Throwable $exception) {
|
||||
$this->addError($exception);
|
||||
return $this->disconnect($response, 500);
|
||||
} finally {
|
||||
fire(Event::SYSTEM_RESOURCE_CLEAN);
|
||||
logger()->insert();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,8 +49,8 @@ class OnPacket extends Callback
|
||||
$response = DataResolve::pack($this->pack, $response);
|
||||
return $server->sendto($clientInfo['address'], $clientInfo['port'], $response);
|
||||
} finally {
|
||||
$event = Snowflake::app()->getEvent();
|
||||
$event->trigger(Event::SERVER_WORKER_STOP);
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
logger()->insert();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,8 @@ class OnReceive extends Callback
|
||||
return $server->send($fd, $response);
|
||||
} finally {
|
||||
$event = Snowflake::app()->getEvent();
|
||||
$event->trigger(Event::SERVER_WORKER_STOP);
|
||||
$event->trigger(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
logger()->insert();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,10 +35,11 @@ class OnRequest extends Callback
|
||||
*/
|
||||
public function onHandler(Request $request, Response $response): mixed
|
||||
{
|
||||
Coroutine::defer(function () use ($request) {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
logger()->insert();
|
||||
});
|
||||
try {
|
||||
Coroutine::defer(function () use ($request) {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
});
|
||||
[$request, $response] = static::create($request, $response);
|
||||
if (!$request->is('favicon.ico')) {
|
||||
return \router()->dispatch();
|
||||
|
||||
@@ -101,6 +101,10 @@ class OnTask extends Callback
|
||||
*/
|
||||
private function runTaskHandler($data): ?array
|
||||
{
|
||||
Coroutine\defer(function () {
|
||||
fire(Event::SYSTEM_RESOURCE_RELEASES);
|
||||
logger()->insert();
|
||||
});
|
||||
try {
|
||||
$serialize = $this->before($data);
|
||||
$params = $serialize->getParams();
|
||||
|
||||
@@ -78,6 +78,8 @@ class Request extends HttpService
|
||||
/**
|
||||
* @return array|null
|
||||
* @throws ComponentException
|
||||
* @throws NotFindClassException
|
||||
* @throws ReflectionException
|
||||
*/
|
||||
public function getConnectInfo(): array|null
|
||||
{
|
||||
|
||||
@@ -285,18 +285,12 @@ abstract class Pool extends Component
|
||||
return;
|
||||
}
|
||||
$channel = $this->_items[$name];
|
||||
while ($client = $channel->pop(0.001)) {
|
||||
unset($client);
|
||||
$this->desc($name);
|
||||
}
|
||||
$this->_items[$name]->close();
|
||||
$this->_items[$name] = null;
|
||||
|
||||
$this->pop($channel, $name, 0);
|
||||
if ($this->creates > -1) {
|
||||
Timer::clear($this->creates);
|
||||
$this->debug('clean timer.');
|
||||
}
|
||||
|
||||
$this->_items[$name] = null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -223,23 +223,11 @@ class Connection extends Pool
|
||||
|
||||
/**
|
||||
* batch release
|
||||
* @throws Exception
|
||||
*/
|
||||
public function connection_clear()
|
||||
{
|
||||
$connections = Context::getAllContext();
|
||||
foreach ($connections as $name => $connection) {
|
||||
if (empty($connection) || !($connection instanceof PDO)) {
|
||||
continue;
|
||||
}
|
||||
/** @var PDO $pdoClient */
|
||||
if ($connection->inTransaction()) {
|
||||
$connection->commit();
|
||||
}
|
||||
$this->push($name, $connection);
|
||||
$this->remove($name);
|
||||
}
|
||||
$this->hasCreate = [];
|
||||
$this->creates = 0;
|
||||
$this->flush(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user