From 15851ba97cf34e82346e51faff57816c406477a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Fri, 13 Aug 2021 14:37:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/ServerManager.php | 5 +-- System/Abstracts/BaseApplication.php | 53 +++++++++++++++++----------- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/Server/ServerManager.php b/Server/ServerManager.php index 058eff8c..b7a11e11 100644 --- a/Server/ServerManager.php +++ b/Server/ServerManager.php @@ -379,10 +379,11 @@ class ServerManager /** * @param TaskExecute|string $handler * @param array $params - * @param int $workerId + * @param int|null $workerId + * @throws ReflectionException * @throws Exception */ - public function task(TaskExecute|string $handler, array $params = [], int $workerId = 0) + public function task(TaskExecute|string $handler, array $params = [], int $workerId = null) { if ($workerId === null || $workerId <= $this->server->setting['worker_num']) { $workerId = random_int($this->server->setting['worker_num'] + 1, diff --git a/System/Abstracts/BaseApplication.php b/System/Abstracts/BaseApplication.php index 5f5c8af8..4b2638be 100644 --- a/System/Abstracts/BaseApplication.php +++ b/System/Abstracts/BaseApplication.php @@ -22,10 +22,6 @@ use HttpServer\Server; use HttpServer\Shutdown; use JetBrains\PhpStorm\Pure; use Kafka\KafkaProvider; -use ReflectionException; -use Rpc\Producer; -use Rpc\Service; -use Server\ServerManager; use Kiri\Aop; use Kiri\Async; use Kiri\Cache\Redis; @@ -37,6 +33,11 @@ use Kiri\Exception\InitException; use Kiri\Exception\NotFindClassException; use Kiri\Jwt\Jwt; use Kiri\Kiri; +use ReflectionException; +use Rpc\Producer; +use Rpc\Service; +use Server\ServerManager; +use Server\SInterface\TaskExecute; use Swoole\Table; /** @@ -199,6 +200,16 @@ abstract class BaseApplication extends Component } + /** + * @param TaskExecute $execute + * @throws ReflectionException + */ + public function task(TaskExecute $execute): void + { + ServerManager::getContext()->task($execute); + } + + /** * @param $key * @param $value @@ -459,23 +470,23 @@ abstract class BaseApplication extends Component protected function moreComponents(): void { $this->setComponents([ - 'error' => ['class' => ErrorHandler::class], - 'config' => ['class' => Config::class], - 'logger' => ['class' => Logger::class], - 'annotation' => ['class' => SAnnotation::class], - 'router' => ['class' => Router::class], - 'event' => ['class' => Event::class], - 'redis' => ['class' => Redis::class], - 'databases' => ['class' => Connection::class], - 'aop' => ['class' => Aop::class], - 'input' => ['class' => HttpParams::class], - 'header' => ['class' => HttpHeaders::class], - 'jwt' => ['class' => Jwt::class], - 'async' => ['class' => Async::class], - 'kafka-container' => ['class' => KafkaProvider::class], - 'response' => ['class' => Response::class], - 'request' => ['class' => Request::class], - 'shutdown' => ['class' => Shutdown::class], + 'error' => ['class' => ErrorHandler::class], + 'config' => ['class' => Config::class], + 'logger' => ['class' => Logger::class], + 'annotation' => ['class' => SAnnotation::class], + 'router' => ['class' => Router::class], + 'event' => ['class' => Event::class], + 'redis' => ['class' => Redis::class], + 'databases' => ['class' => Connection::class], + 'aop' => ['class' => Aop::class], + 'input' => ['class' => HttpParams::class], + 'header' => ['class' => HttpHeaders::class], + 'jwt' => ['class' => Jwt::class], + 'async' => ['class' => Async::class], + 'kafka-container' => ['class' => KafkaProvider::class], + 'response' => ['class' => Response::class], + 'request' => ['class' => Request::class], + 'shutdown' => ['class' => Shutdown::class], ]); } }