Jump to content

Как выгрузить большой фид yandex.xml?


Recommended Posts

Скажите, кто как разбивал yandex.xml на части? товаров 20 тыс и фид уже не загружается, падает сервер.

Кто как выходил из этой проблемы?

Link to post
Share on other sites

Все очень просто. 

Постараться выжать из сервера максимальное время выполнения скрипта.

Будет главный файл yandex.xml, где будут ссылки на на 5-10 файлов yandex_n.xml.

Нужно первым делом получить количество товаров, максимальное количество товаров в файле, после чего уже рассчитать количество файлов и дальше заниматься наполнением этих файлов.

 

Link to post
Share on other sites
6 часов назад, simpla24 сказал:

Все очень просто. 

Постараться выжать из сервера максимальное время выполнения скрипта.

Будет главный файл yandex.xml, где будут ссылки на на 5-10 файлов yandex_n.xml.

Нужно первым делом получить количество товаров, максимальное количество товаров в файле, после чего уже рассчитать количество файлов и дальше заниматься наполнением этих файлов.

 

 

ненадо такого городить )  есть способы проще

Link to post
Share on other sites
В 16.08.2023 в 01:28, Kami сказал:

Скажите, кто как разбивал yandex.xml на части? товаров 20 тыс и фид уже не загружается, падает сервер.

Кто как выходил из этой проблемы?

Такой проблемы у большинства типовых сайтов НЕТ. При 20 тыс обычно товаров фид формируется легко и быстро. Если у Вас не работает, то это, скорее всего, проблема слабого сервера. Если нет желания/возможности перейти на лучший тарифный план, то работать надо индивидуально. Сначала выяснять причину (основные варианты - не хватает ресурсов MySQL или не хватает оперативной памяти сервера). А потом уже придумывать хитрости, чтобы обойти нехватку ресурсов...

Например, если причина затыка в нехватке ресурсов MySQL, то можно выходить из положения, как намекнул shooroop - делать подряд несколько запросов с ограничением, например, по 4000 записей...

Link to post
Share on other sites
В 18.08.2023 в 08:50, phukortsin сказал:

Такой проблемы у большинства типовых сайтов НЕТ. При 20 тыс обычно товаров фид формируется легко и быстро. Если у Вас не работает, то это, скорее всего, проблема слабого сервера. Если нет желания/возможности перейти на лучший тарифный план, то работать надо индивидуально. Сначала выяснять причину (основные варианты - не хватает ресурсов MySQL или не хватает оперативной памяти сервера). А потом уже придумывать хитрости, чтобы обойти нехватку ресурсов...

Например, если причина затыка в нехватке ресурсов MySQL, то можно выходить из положения, как намекнул shooroop - делать подряд несколько запросов с ограничением, например, по 4000 записей...

Вообще в логах странная ошибка. 2023/08/22 05:36:52 [error] 145577#145577: *2 upstream timed out (110: Connection timed out) while reading response header from upstream,

Сервер ложится с ошибкой 504 Gateway Time-out

Сам сервер выделенный и с хорошим железом, стоит fast panel

Link to post
Share on other sites
11 минут назад, phukortsin сказал:

В этом и соль что уже все прописал

 

    location / {

        proxy_pass http://127.0.0.1:81;

        proxy_redirect http://127.0.0.1:81/ /;

        include /etc/nginx/proxy_params;

        fastcgi_read_timeout 300;

        fastcgi_send_timeout 300;

        proxy_read_timeout 300;

    }

И сервер перезагружал, всё равно - 1 минуту выполняет и уходит в 504 ошибку.

Link to post
Share on other sites

Значит, не хватает серверу ресурсов.

В 18.08.2023 в 08:50, phukortsin сказал:

Сначала выяснять причину (основные варианты - не хватает ресурсов MySQL или не хватает оперативной памяти сервера). А потом уже придумывать хитрости, чтобы обойти нехватку ресурсов...

 

Link to post
Share on other sites
  • 2 weeks later...
В 23.08.2023 в 08:14, phukortsin сказал:

Значит, не хватает серверу ресурсов.

 

Ну вот проблема ресурсов решена, а вот всё равно фид грузится 5 минут ти ложится с ошибкой. То есть даже 5 минут не хватает чтоб выполнить запрос к 20 к товарам со свойствами т.д.

Как вы выходили из ситуации? пилить фид?

Link to post
Share on other sites
1 час назад, Kami сказал:

Ну вот проблема ресурсов решена, а вот всё равно фид грузится 5 минут ти ложится с ошибкой. То есть даже 5 минут не хватает чтоб выполнить запрос к 20 к товарам со свойствами т.д.

Как вы выходили из ситуации? пилить фид?

Сделайте выгрузку товаров экспорт в csv, так же долго формирует файл?

Link to post
Share on other sites
10 часов назад, Kami сказал:

Ну вот проблема ресурсов решена, а вот всё равно фид грузится 5 минут ти ложится с ошибкой. То есть даже 5 минут не хватает чтоб выполнить запрос к 20 к товарам со свойствами т.д.

Если не может обработать легкий запрос, видимо, проблема не решена.

Еще можно попробовать для ОДНОГО товара.

10 часов назад, Kami сказал:

Как вы выходили из ситуации? пилить фид?

Уже говорилось:

В 18.08.2023 в 08:50, phukortsin сказал:

Сначала выяснять причину (основные варианты - не хватает ресурсов MySQL или не хватает оперативной памяти сервера). А потом уже придумывать хитрости, чтобы обойти нехватку ресурсов...

Например, если причина затыка в нехватке ресурсов MySQL, то можно выходить из положения, как намекнул shooroop - делать подряд несколько запросов с ограничением, например, по 4000 записей...

А еще бывает такое в случае нерациональной доработки. Например, если много свойств, и их значения по одному извлекаются в цикле. А поскольку у Вас все в секрете, и в общем и целом, то гадать можно долго...

Link to post
Share on other sites
21 час назад, Kami сказал:

Лимитом я же просто ограничу выборку с базы данных, а мне то нужно всё выгрузить.

Не только а делить запрос в 20к товаров например по 1к

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...