Место для ваших идей

Оставляйте пожелания по работе Вебмастера

Сделать чтобы в случае ошибок фида "Товары и предложения" использовалась в поиске последняя рабочая копия как в "Я.Маркете"

Avatar
  • обновлен

На нашем сайте 13000 товаров. И фид обновляется раз в сутки. Он загружается, товары пару дней проходят проверку и появляются в поиске. 

Проблема возникает когда при автоматическом обновлении фида происходит сбой на сервере и файл создаётся некорректный. В этом случае сервис "Товары и предложения" полностью отключается, а при новом корректном фиде опять надо ждать пару дней проверку товаров.


Идея в том, чтобы сделать как в Я.Маркете - при некорректном фиде использовать временно старый фид. Автообновление в следующий раз создаст корректный фид и сайт не будет вылетать из поиска.

Avatar
Платон Щукин

Юрий, здравствуйте! Спасибо за предложение. Вместе с командой подумаем, как можно будет реализовать идею в будущем.

Avatar
вадим
Цитата от Юрий Мегаев

Это же надо собственный скрипт написать в Cron?

Это зависит от операционной системы. В юниксах - крон, в виндовс - планировщик. Скрипт может быть тем же, но дополнительно с парой строчек кода выгрузки в файл. Или же новый скрипт, если выгрузка от чужого модуля, а разбираться с ним не хочется. Тогда будет новый обращаться к старому, получать данные и сохранять их в файл. Вызов скрипта будет через интерпретатор + путь к скрипту. Также в некоторых CMS есть что-то типа фоновых "агентов", но их использовать не советую. 

Avatar
Юрий Мегаев

Это же надо собственный скрипт написать в Cron?

Avatar
Юрий Мегаев

Спасибо за ликбез, поставлю задачу программистам.

Avatar
вадим

А что мешает Вам добавить в планировщик выгрузку фида в файл, а ссылку на этот файл прикрепить в Товары? Планировщик будет выгружать файл, проверять его на корректность и в случае успеха заменять старый новым. Вам еще везет, что 2-3 дня, у многих это занимает больше месяца.

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