Обработка одного или нескольких событий symfony2 внутри одной транзакции

Я нашел очень хорошая статья о том, как сохранить контроллер простым и как организовать код в разных сервисах с помощью механизма событий / слушателей из symfony2.

Но у меня сейчас следующая проблема. Давайте представим, что у меня есть контроллер PostController, и у него есть действие DeleteAction. Это действие вызовет событие post_deleted и есть какой-то другой сервис, который должен отправлять личное сообщение пользователю, чье сообщение было удалено.

Теперь у нас есть различные действия, которые требуют доступа к базе данных, и оба должны быть успешными, или ни одно из них. Вопрос в том, как заставить Symfony2 передавать одно и то же соединение + транзакцию этим двум службам? Должен ли я помещать объект соединения в событие self, или есть какой-то другой механизм для сохранения глобальной транзакции / соединения во время обработки запроса?

Кстати, я использую Propel.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]