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

Skip to content

Commit 1808920

Browse files
author
Rokas Mikalkėnas
committed
[FrameworkBundle] Make StopWorkerOnSignalsListener configurable via messenger's config
1 parent da8e8d0 commit 1808920

File tree

4 files changed

+11
-0
lines changed

4 files changed

+11
-0
lines changed

src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ CHANGELOG
2020
* Add `AbstractController::sendEarlyHints()` to send HTTP Early Hints
2121
* Add autowiring aliases for `Http\Client\HttpAsyncClient`
2222
* Deprecate the `Http\Client\HttpClient` service, use `Psr\Http\Client\ClientInterface` instead
23+
* Add `stop_worker_on_signals` configuration option to `messenger` to have a possibility to define signals which would stop a worker
2324

2425
6.2
2526
---

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

Lines changed: 5 additions & 0 deletions
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
->d FA84 efaultValue(['messenger.bus.default' => ['default_middleware' => ['enabled' => true, 'allow_no_handlers' => false, 'allow_no_senders' => true], 'middleware' => []]])

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2028,6 +2028,10 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
20282028
$container->getDefinition('messenger.transport.beanstalkd.factory')->addTag('messenger.transport_factory');
20292029
}
20302030

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

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

Lines changed: 1 addition & 0 deletions
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