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