Skip to content

Commit 675c455

Browse files
Merge branch '4.4'
* 4.4: [Messenger] use events consistently in worker Deprecate things that prevent \Throwable from bubbling down
2 parents 25e957f + 7ab11eb commit 675c455

File tree

5 files changed

+28
-9
lines changed

5 files changed

+28
-9
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ CHANGELOG
4040
* [BC Break] The `framework.messenger.routing.senders` config key is not deep merged anymore.
4141
* Added `secrets:*` commands and `%env(secret:...)%` processor to deal with secrets seamlessly.
4242
* Made `framework.session.handler_id` accept a DSN
43+
* Marked the `RouterDataCollector` class as `@final`.
4344

4445
4.3.0
4546
-----

Console/Application.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,11 +207,15 @@ private function renderRegistrationErrors(InputInterface $input, OutputInterface
207207
(new SymfonyStyle($input, $output))->warning('Some commands could not be registered:');
208208

209209
foreach ($this->registrationErrors as $error) {
210-
if (!$error instanceof \Exception) {
211-
$error = new ErrorException($error);
212-
}
210+
if (method_exists($this, 'doRenderThrowable')) {
211+
$this->doRenderThrowable($error, $output);
212+
} else {
213+
if (!$error instanceof \Exception) {
214+
$error = new ErrorException($error);
215+
}
213216

214-
$this->doRenderException($error, $output);
217+
$this->doRenderException($error, $output);
218+
}
215219
}
216220
}
217221
}

DataCollector/RouterDataCollector.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
* RouterDataCollector.
2020
*
2121
* @author Fabien Potencier <fabien@symfony.com>
22+
*
23+
* @final since Symfony 4.4
2224
*/
2325
class RouterDataCollector extends BaseRouterDataCollector
2426
{

Resources/config/console.xml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,9 @@
8888
<service id="console.command.messenger_consume_messages" class="Symfony\Component\Messenger\Command\ConsumeMessagesCommand">
8989
<argument /> <!-- Routable message bus -->
9090
<argument type="service" id="messenger.receiver_locator" />
91+
<argument type="service" id="event_dispatcher" />
9192
<argument type="service" id="logger" on-invalid="null" />
9293
<argument type="collection" /> <!-- Receiver names -->
93-
<argument type="service" id="event_dispatcher" />
94-
<call method="setCachePoolForRestartSignal">
95-
<argument type="service" id="cache.messenger.restart_workers_signal" />
96-
</call>
9794

9895
<tag name="console.command" command="messenger:consume" />
9996
<tag name="monolog.logger" channel="messenger" />

Resources/config/messenger.xml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
<argument /> <!-- max delay ms -->
9999
</service>
100100

101+
<!-- worker event listeners -->
101102
<service id="messenger.retry.send_failed_message_for_retry_listener" class="Symfony\Component\Messenger\EventListener\SendFailedMessageForRetryListener">
102103
<tag name="kernel.event_subscriber" />
103104
<tag name="monolog.logger" channel="messenger" />
@@ -106,14 +107,28 @@
106107
<argument type="service" id="logger" on-invalid="ignore" />
107108
</service>
108109

109-
<!-- failed handling -->
110110
<service id="messenger.failure.send_failed_message_to_failure_transport_listener" class="Symfony\Component\Messenger\EventListener\SendFailedMessageToFailureTransportListener">
111111
<tag name="kernel.event_subscriber" />
112112
<tag name="monolog.logger" channel="messenger" />
113113
<argument /> <!-- Failure transport -->
114114
<argument type="service" id="logger" on-invalid="ignore" />
115115
</service>
116116

117+
<service id="messenger.listener.dispatch_pcntl_signal_listener" class="Symfony\Component\Messenger\EventListener\DispatchPcntlSignalListener">
118+
<tag name="kernel.event_subscriber" />
119+
</service>
120+
121+
<service id="messenger.listener.stop_worker_on_restart_signal_listener" class="Symfony\Component\Messenger\EventListener\StopWorkerOnRestartSignalListener">
122+
<tag name="kernel.event_subscriber" />
123+
<tag name="monolog.logger" channel="messenger" />
124+
<argument type="service" id="cache.messenger.restart_workers_signal" />
125+
<argument type="service" id="logger" on-invalid="ignore" />
126+
</service>
127+
128+
<service id="messenger.listener.stop_worker_on_sigterm_signal_listener" class="Symfony\Component\Messenger\EventListener\StopWorkerOnSigtermSignalListener">
129+
<tag name="kernel.event_subscriber" />
130+
</service>
131+
117132
<!-- routable message bus -->
118133
<service id="messenger.routable_message_bus" class="Symfony\Component\Messenger\RoutableMessageBus">
119134
<argument /> <!-- Message bus locator -->

0 commit comments

Comments
 (0)