Add messenger:failed:show command
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3531646. --> Reported by: [dpi](https://www.drupal.org/user/81431) Related to !44 >>> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <p>Command provided by Messenger, useful for debugging the reason why a message failed.</p> <pre>dpi@ddev-drupal-web:/var/www/html$ sm messenger:failed:show 21&nbsp; -vvv<br><br>Failed Message Details<br>======================<br><br> ------------- -----------------------------<br>&nbsp; Class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Drupal\dpi\Mess\TestMessage<br>&nbsp; Message Id&nbsp;&nbsp;&nbsp; Row #21<br>&nbsp; Failed at&nbsp;&nbsp;&nbsp;&nbsp; 2025-06-22 04:28:50<br>&nbsp; Error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fail!<br>&nbsp; Error Code&nbsp;&nbsp;&nbsp; 0<br>&nbsp; Error Class&nbsp;&nbsp; Exception<br>&nbsp; Transport&nbsp;&nbsp;&nbsp;&nbsp; asynchronous<br> ------------- -----------------------------<br><br> Message history:<br>&nbsp; * Message failed at 2025-06-22 04:28:45 and was redelivered<br>&nbsp; * Message failed at 2025-06-22 04:28:45 and was redelivered<br>&nbsp; * Message failed at 2025-06-22 04:28:46 and was redelivered<br>&nbsp; * Message failed at 2025-06-22 04:28:50 and was redelivered<br><br>Message:<br>========<br><br>Drupal\dpi\Mess\TestMessage^ {<br>&nbsp; +fail: true<br>}<br><br>Exception:<br>==========<br><br>Exception^ {<br>&nbsp; message: "Fail!"<br>&nbsp; code: 0<br>&nbsp; file: "/var/www/html/web/modules/extra/dpi/src/Mess/TestHandler.php"<br>&nbsp; line: 18<br>&nbsp; trace: {<br>&nbsp;&nbsp;&nbsp; ./web/modules/extra/dpi/src/Mess/TestHandler.php:18 {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Drupal\dpi\Mess\TestHandler-&gt;__invoke(TestMessage $message): void^<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rsaquo; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new RecoverableMessageHandlingException();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rsaquo;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new \Exception('Fail!');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rsaquo;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:152 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:91 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Middleware/SendMessageMiddleware.php:71 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php:34 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php:68 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php:35 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/MessageBus.php:69 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/RoutableMessageBus.php:51 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Worker.php:170 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Worker.php:119 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/messenger/Command/ConsumeMessagesCommand.php:260 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/console/Command/Command.php:279 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/console/Application.php:1076 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/console/Application.php:342 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/console/Application.php:193 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php:49 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/autoload_runtime.php:29 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./web/modules/contrib/sm/bin/sm:14 { &hellip;}<br>&nbsp;&nbsp;&nbsp; ./vendor/bin/sm:119 { &hellip;}<br>&nbsp; }<br>&nbsp; previous: null<br>}<br><br> Run messenger:failed:retry 21 --transport=failed to retry this message.<br> Run messenger:failed:remove 21 --transport=failed to delete it.</pre><h4 id="summary-steps-reproduce">Steps to reproduce</h4> <h3 id="summary-proposed-resolution">Proposed resolution</h3> <h3 id="summary-remaining-tasks">Remaining tasks</h3> <h3 id="summary-ui-changes">User interface changes</h3> <h3 id="summary-api-changes">API changes</h3> <h3 id="summary-data-model-changes">Data model changes</h3> > Related issue: [Issue #3403929](https://www.drupal.org/node/3403929) > Related issue: [Issue #3531660](https://www.drupal.org/node/3531660)
issue