в проблеме. Есть интернет-магазин. Крупный. Люди годами откладывают себе товары в избранное. А с недавних пор избранное очищается при оформлении заказа. Клиенты негодуют. Руководство косо смотрит на меня. А я что? Я перепробовал все мыслимые и немыслимые способы борьбы с этим злом.
Немного о проекте - кастомный код везде, переписано все, что может быть, тонна интеграций со всем, с чем можно синтегрироваться. Избранные сделаны через стандартное "DELAY" => "Y". В расчёте корзины избранные не участвуют. Везде getOrderableItems. До оформления заказа товары висят в воздухе в таблице b_sale_basket. После оформления заказа товары, лежащие в корзине, привязываются к заказу, а товары которые DELAY, просто удаляются из корзины и из таблицы.
А теперь апогей. Взял сервак, накатил VM'ку. Обновил все модули сервака до аналогичных на бою версий. Развернул точную копию боевого сайта. С той же базой, через гит перетянул самые свежие изменения, включил все интеграции иииии все работает правильно. Избранные остаются. В мобильном приложении нашем, которое работает через бэк тоже все в порядке. Психанул. Взял старую версию сайта, развернул еще один сервер, все настроил. Обновился через штатное обновление. Догнал все до версии на боевом и все работает. Вопрос - что делать и как быть? Может у кого-нибудь хоть какие-нибудь идеи есть?
P.S. Все модули обновлены до последних версий.
может на кроне что-то висит? если судить что на девах -все работает, а на проде нет.
Проблема, что происходит это именно в момент оформления. Все что по cron кроме отправки писем выполняется с большим периодом.
Повесьте обработчик с трейсом на событие сохранения в \bitrix\sale\basket
Если регулярно воспроизводится проблема, а избранное хранится в базе, то статья https://mrcappuccino.ru/blog/post/bitrix-d7-debug должна помочь.
Обсуждают сегодня