From 8e0bbc66ebc797043282d9e2f94cf71447e516d1 Mon Sep 17 00:00:00 2001 From: Allison Guilhem Date: Tue, 26 Dec 2023 22:55:13 +1100 Subject: [PATCH] long running process doctrine connection listener --- DependencyInjection/Configuration.php | 1 + DependencyInjection/DoctrineExtension.php | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 2e154b6d..38d48ce5 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -223,6 +223,7 @@ private function getDbalConnectionsNode(): ArrayNodeDefinition ->scalarNode('server_version')->end() ->scalarNode('driver_class')->end() ->scalarNode('wrapper_class')->end() + ->scalarNode('check_connection_frequency')->defaultValue(30)->end() ->booleanNode('keep_slave') ->setDeprecated( 'doctrine/doctrine-bundle', diff --git a/DependencyInjection/DoctrineExtension.php b/DependencyInjection/DoctrineExtension.php index 044235f3..6c023447 100644 --- a/DependencyInjection/DoctrineExtension.php +++ b/DependencyInjection/DoctrineExtension.php @@ -109,6 +109,10 @@ public function load(array $configs, ContainerBuilder $container) $this->loadMessengerServices($container); } + if (! $container->hasParameter('kernel.runtime_mode') || ! $container->hasParameter('kernel.runtime_mode.worker')) { + $container->removeDefinition('doctrine.connection.keep.alive_middleware'); + } + if (empty($config['orm'])) { return; } @@ -197,6 +201,12 @@ protected function dbalLoad(array $config, ContainerBuilder $container) $connWithProfiling = []; $connWithBacktrace = []; foreach ($config['connections'] as $name => $connection) { + if (! $container->hasParameter('kernel.runtime_mode') || ! $container->hasParameter('kernel.runtime_mode.worker')) { + if (array_key_exists('check_connection_frequency', $connection) ) { + unset($connection['check_connection_frequency']); + } + } + if ($connection['logging']) { $connWithLogging[] = $name; }