Александр Яковлев PHP/GO

Александр Яковлев PHP/GO 

IT блогер

92subscribers

22posts

Symfony 6 / Урок 7 / CQRS (Query & Command Multiple Buses)

Как реализовать CQRS подход в Symfony приложении, используя шины команд и запросов (Query & Command Multiple Buses).
Привет ! Вопрос как в данном случае заставить события обрабатываться асинхронно, имею ввиду реализацию EventBusInterface -> EventBus, который использует HandleTrait, который в свою очередь, исходя из документации, предназначен только для синхронной обработки. (https://symfony.com/doc/current/messenger.html#getting-results-when-working-with-command-query-buses)
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
Jenia Mashoshin, Привет, посмотри здесь https://github.com/jorge07/symfony-6-es-cqrs-boilerplate/tree/symfony-6
Go up