From 66a474edbf0a989e06a9d66221d8b1cbd19f1770 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Tue, 27 May 2025 10:37:17 +0200 Subject: [PATCH] add kernel.reset tag to allow clearing memory between request This is needed if you run FrankenPHP, RoadRunner etc. --- src/Request/Executor.php | 5 +++++ src/Resolver/TypeResolver.php | 5 +++++ src/Resources/config/services.yaml | 3 +++ 3 files changed, 13 insertions(+) diff --git a/src/Request/Executor.php b/src/Request/Executor.php index e6af42b84..69d6bc7e4 100644 --- a/src/Request/Executor.php +++ b/src/Request/Executor.php @@ -196,4 +196,9 @@ private function postExecute(ExecutionResult $result, ExecutorArgumentsEvent $ex Events::POST_EXECUTOR )->getResult(); } + + public function reset(): void + { + $this->schemas = []; + } } diff --git a/src/Resolver/TypeResolver.php b/src/Resolver/TypeResolver.php index 1793f9631..c5e5d4a6e 100644 --- a/src/Resolver/TypeResolver.php +++ b/src/Resolver/TypeResolver.php @@ -76,6 +76,11 @@ private function baseType(string $alias): ?Type return $type; } + public function reset(): void + { + $this->cache = []; + } + protected function supportedSolutionClass(): ?string { return Type::class; diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml index 72985d02c..33d004919 100644 --- a/src/Resources/config/services.yaml +++ b/src/Resources/config/services.yaml @@ -21,6 +21,8 @@ services: calls: - ["setMaxQueryComplexity", ["%overblog_graphql.query_max_complexity%"]] - ["setMaxQueryDepth", ["%overblog_graphql.query_max_depth%"]] + tags: + - { name: kernel.reset, method: reset } Overblog\GraphQLBundle\Definition\Builder\SchemaBuilder: arguments: @@ -37,6 +39,7 @@ services: - ["setDispatcher", ["@event_dispatcher"]] tags: - { name: overblog_graphql.service, alias: typeResolver } + - { name: kernel.reset, method: reset } Overblog\GraphQLBundle\Transformer\ArgumentsTransformer: arguments: