Symfony 6 / Урок 7 / CQRS (Query & Command Multiple Buses)
Как реализовать CQRS подход в Symfony приложении, используя шины команд и запросов (Query & Command Multiple Buses).
symfony
php
Jenia Mashoshin
Привет ! Вопрос как в данном случае заставить события обрабатываться асинхронно, имею ввиду реализацию EventBusInterface -> EventBus, который использует HandleTrait, который в свою очередь, исходя из документации, предназначен только для синхронной обработки. (https://symfony.com/doc/current/messenger.html#getting-results-when-working-with-command-query-buses)
Dec 30 2023 19:25
Александр Яковлев PHP/GO
Jenia Mashoshin, для асинхронной шины нужно установить allow_no_handlers в значене true. (пример https://github.com/alejandro-yakovlev/symfony-docker/blob/master/config/packages/messenger.yaml)
HandleTrait использовать не нужно. Можно напрямую диспатчить. (пример: https://github.com/alejandro-yakovlev/symfony-docker/blob/master/src/Shared/Infrastructure/Bus/EventBus.php)
Затем создаешь событие, настраиваешь транспорт и настраиваешь для события роутинг https://symfony.com/doc/current/messenger.html#routing-messages-to-a-transport
Dec 31 2023 03:15
Евгений Антипин
Jenia Mashoshin, Привет, посмотри здесь https://github.com/jorge07/symfony-6-es-cqrs-boilerplate/tree/symfony-6
Jan 06 2024 19:33 
2