8000 [FrameworkBundle] Make StopWorkerOnSignalsListener configurable via m… · symfony/symfony@624b734 · GitHub
[go: up one dir, main page]

Skip to content

Commit 624b734

Browse files
author
Rokas Mikalkėnas
committed
[FrameworkBundle] Make StopWorkerOnSignalsListener configurable via messenger's config
1 parent 9aa6e08 commit 624b734

File tree

4 files changed

+11
-0
lines changed

4 files changed

+11
-0
lines changed

src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ CHANGELOG
1818
* Add `framework.http_cache.skip_response_headers` option
1919
* Display warmers duration on debug verbosity for `cache:clear` command
2020
* Add `AbstractController::sendEarlyHints()` to send HTTP Early Hints
21+
* Add `stop_worker_on_signals` configuration option to `messenger` to have a possibility to define signals which would stop a worker
2122

2223
6.2
2324
---

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

+5
Original file line numberDiff line numberDiff line change
@@ -1526,6 +1526,11 @@ function ($a) {
15261526
->thenInvalid('The "framework.messenger.reset_on_message" configuration option can be set to "true" only. To prevent services resetting after each message you can set the "--no-reset" option in "messenger:consume" command.')
15271527
->end()
15281528
->end()
1529+
->arrayNode('stop_worker_on_signals')
1530+
->defaultValue([])
1531+
->info('A list of signals to stop worker. If not set - use defaults defined in listener.')
1532+
->integerPrototype()->end()
1533+
->end()
15291534
->scalarNode('default_bus')->defaultNull()->end()
15301535
->arrayNode('buses')
15311536
->defaultValue(['messenger.bus.default' => ['default_middleware' => ['enabled' => true, 'allow_no_handlers' => false, 'allow_no_senders' => true], 'middleware' => []]])

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

+4
Original file line numberDiff line numberDiff line change
@@ -2027,6 +2027,10 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
20272027
$container->getDefinition('messenger.transport.beanstalkd.factory')->addTag('messenger.transport_factory');
20282028
}
20292029

2030+
if (0 < \count($config['stop_worker_on_signals'])) {
2031+
$container->getDefinition('messenger.listener.stop_worker_signals_listener')->replaceArgument(0, $config['stop_worker_on_signals']);
2032+
}
2033+
20302034
if (null === $config['default_bus'] && 1 === \count($config['buses'])) {
20312035
$config['default_bus'] = key($config['buses']);
20322036
}

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php

+1
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,7 @@ class_exists(SemaphoreStore::class) && SemaphoreStore::isSupported() ? 'semaphor
638638
'default_bus' => null,
639639
'buses' => ['messenger.bus.default' => ['default_middleware' => ['enabled' => true, 'allow_no_handlers' => false, 'allow_no_senders' => true], 'middleware' => []]],
640640
'reset_on_message' => true,
641+
'stop_worker_on_signals' => [],
641642
],
642643
'disallow_search_engine_index' => true,
643644
'http_client' => [

0 commit comments

Comments
 (0)
0