From 567cafcfc08e3076b47290a7558b0ca17a98b0ce Mon Sep 17 00:00:00 2001 From: HypeMC Date: Tue, 11 Jul 2023 22:10:48 +0200 Subject: [PATCH] [Messenger] Fix exiting `FailedMessagesRetryCommand` --- DependencyInjection/FrameworkExtension.php | 10 ++++++++++ Resources/config/console.php | 2 ++ 2 files changed, 12 insertions(+) diff --git a/DependencyInjection/FrameworkExtension.php b/DependencyInjection/FrameworkExtension.php index f7b80aeef..7f56245a4 100644 --- a/DependencyInjection/FrameworkExtension.php +++ b/DependencyInjection/FrameworkExtension.php @@ -2098,6 +2098,16 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder $container->getDefinition('messenger.transport.beanstalkd.factory')->addTag('messenger.transport_factory'); } + if ($config['stop_worker_on_signals'] && $this->hasConsole()) { + $container->getDefinition('console.command.messenger_consume_messages') + ->replaceArgument(8, $config['stop_worker_on_signals']); + $container->getDefinition('console.command.messenger_failed_messages_retry') + ->replaceArgument(6, $config['stop_worker_on_signals']); + } + + if ($this->hasConsole() && $container->hasDefinition('messenger.listener.stop_worker_signals_listener')) { + $container->getDefinition('messenger.listener.stop_worker_signals_listener')->clearTag('kernel.event_subscriber'); + } if ($config['stop_worker_on_signals']) { $container->getDefinition('messenger.listener.stop_worker_signals_listener')->replaceArgument(0, $config['stop_worker_on_signals']); } diff --git a/Resources/config/console.php b/Resources/config/console.php index 2be737e98..b49ed07a0 100644 --- a/Resources/config/console.php +++ b/Resources/config/console.php @@ -163,6 +163,7 @@ service('messenger.listener.reset_services')->nullOnInvalid(), [], // Bus names service('messenger.rate_limiter_locator')->nullOnInvalid(), + null, ]) ->tag('console.command') ->tag('monolog.logger', ['channel' => 'messenger']) @@ -194,6 +195,7 @@ service('event_dispatcher'), service('logger')->nullOnInvalid(), service('messenger.transport.native_php_serializer')->nullOnInvalid(), + null, ]) ->tag('console.command') ->tag('monolog.logger', ['channel' => 'messenger'])