Size: a a a

2021 June 23

SM

Sergey Milegov in symfony
Ну с транзакциями у тебя будет проблема. А без должно быть норм. У меня свой конекшн и там есть чето типа dispatchAfterTrasactionCommit
источник

H

HAJIOM in symfony
Изначально без транзакций было, проблема была. Есть чувство что проблема в бд
источник

H

HAJIOM in symfony
Ибо идеи уже подходят к финалу)
источник

SM

Sergey Milegov in symfony
Мне помог лог состояний (из другого коннекта) с таймстампами. С бд всё норм.
источник

H

HAJIOM in symfony
Я ж говорю что логи доктрины говорят что все ок, так же в логи кидаю состояние объекта в обоих процессах.
источник

H

HAJIOM in symfony
Под нагрузкой только появляется проблема, а там логи бд не хотелось бы врубать
источник

H

HAJIOM in symfony
При изменении устанавливается дата апдейта, и в другом процессе дата старая вытаскивается
источник

SM

Sergey Milegov in symfony
Месадж кидается на каком-то ивенте доктрины или просто после флаша?
источник

H

HAJIOM in symfony
Просто после flush
источник

D

Dmitry in symfony
попробуйте сбросить кеш доктрины в консьюмере перед чтением
источник

D

Dmitry in symfony
em->clear()
источник

D

Dmitry in symfony
сервер базы один ? без реплик ?
источник

H

HAJIOM in symfony
Если состояние не в прогрессе, а стендбай, то я пишу это в логи (это сущность сервиса синхронизации) перед тем как писать в логи я делаю рефреш сущности (оно обязывает сделать опять выборку из бд) и при этом состояние все равно старое
источник

D

Dmitry in symfony
у вас 2 процесса разных
источник

Б

Борис Зырянов... in symfony
Мм, а сущность ты передаешь прям объектом?
источник

D

Dmitry in symfony
возможно консьюмер где-то без вашего понимания подхватывает ту сущность которую вы изменили до того как вы ее изменили
источник

Б

Борис Зырянов... in symfony
Вот скорее всего да, в другом процессе нужно выдергивать сущность отдельным запросом к бд
источник

D

Dmitry in symfony
а доктрина это UnitOfWork а значит сущность закешируется
источник

H

HAJIOM in symfony
Нет, там id, а второй тащит объект по id
источник

D

Dmitry in symfony
поэтому и говорю - в консьюмере перед обработкой сообщения сделайте clear
источник