Magento дубликаты заказов

У меня есть сайт Magento, использующий версию 1.6.2.0, с которой у меня возникают проблемы с дублированием заказов.

Изучив тему, я нашел в основном ветки форума, объясняющие, что у 1.4.x были проблемы с дубликатами заказов, а упомянутые решения (даже те, которые я нашел на SO) просто предлагают пользователю обновить Magento до >1.4.

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

Я также заметил, что исправление Array Of Death упоминалось несколько раз (например, здесь), но этой проблемы нет в 1.6.x, похоже Zend решил ее.

Есть несколько предлагаемых хаков Javascript, с помощью которых кнопка «Подтвердить заказ» скрывается при отправке, но Magento 1.6.x уже делает это.

Я увеличил переменную конфигурации тайм-аута платежного шлюза до 120 секунд и пока не вижу, дает ли это результаты. Я не могу проверить это, так как проблема носит периодический характер (и, вероятно, вызвана связью или ее отсутствием между платежным шлюзом и Magento).

Я использую Sagepay в качестве платежного шлюза.

Как я могу отладить это?


person Ben Swinburne    schedule 19.06.2012    source источник
comment
У нас такая же проблема с magento 1.6.2 и SagePay. Удалось ли вам расследовать это?   -  person 42droids Ltd    schedule 25.07.2012
comment
К сожалению нет! В настоящее время его исследует коллега, но, насколько мне известно, они ничего не нашли. Я отчитаюсь здесь, если они это сделают.   -  person Ben Swinburne    schedule 25.07.2012


Ответы (1)


Ссылка, которую вы разместили, верна, но я бы не стал использовать их исправление, я бы просто отключил модуль Mage_Rss.

В Mage_Rss есть несколько наблюдателей, которые вызывают Mage::app()->cleanCache(...) в процессе проверки, что чрезвычайно дорого, если ваша установка использует кеш файловой системы по умолчанию, и он стал большим.

Я обнаружил, что для устранения проблем с производительностью Magento лучше всего подключить Xhgui и выполните профилирование. Чтение стеков вызовов также очень поможет вам понять Magento.

О, и я не знаю, верно ли это для Sagepay, но я пошел и полностью исправил эту проблему для PayflowPro, переписав метод, который генерирует идентификаторы транзакций, чтобы использовать quoteID вместо создания уникальных идентификаторов при каждом вызове. Я начал с этого пути, но я все еще на 1.4.2, и у меня нет времени тестировать более поздние версии, и это довольно значительная переработка. Думаю, я мог бы просто выложить это там, чтобы кто-то другой пробежал мимо Моисея...

person gazarsgo    schedule 28.06.2012