Однако даже в этом случае есть способ отдавать файл YML роботу Яндекс.Маркета быстро, фактически мгновенно.
Для этого Вам надо добавить к планировщику задач операционной системы (он называется cron на UNIX-подобных операционных системах) команду для создания файла YML по расписанию.
В операционной системе Debian, используемой на рекомендумых серверах, файл с командами для cron называется crontab и расположен в корневной папке /etc.
Вам нужно зайти по протоколу SFTP (например, посредстством программы FileZilla) с правами root на Ваш сервер, скачать этот файл, добавить в него требуемую команду и затем записать обратно.
Для генерации файла можно использовать программы wget или curl.
Они для данной задачи равноценны.
Ниже приведёт пример команды для cron с использованием программы wget.
0 3 * * * www-data wget --output-document="/var/www/example.ru/yandex.market.xml" "http://example.ru/df-yandex-market/yml/?store-view=default"
Про синтаксис команд cron можно прочитать в Википедии.
Опишу указанную выше конкретную команду.
0 3 * * *означает, что команда будет выполняться раз в сутки в 3 часа утра.
www-dataуказывает пользователя операционной системы, от лица и с правами которого будет исполнена команда.
Далее указан вызов программы wget.
Параметр
--output-document="/var/www/example.ru/yandex.market.xml"программы wget указывает путь в файловой системе к создаваемому файлу с товарными описаниями. После каждого вызова команды файл будет перезаписан заново, и поэтому данные файла не будут накладываться друг на друга.
"http://example.ru/df-yandex-market/yml/?store-view=default"указывает веб-адрес с данными.
Как узнать веб-адрес с данными для Вашего конкретный магазина — описано в руководстве по настройке учётной записи партнёра Яндекс.Маркета.
После указанной настройки планировщика задач Вы можете не ждать 3 ночи, а создать первый файл вручную, выполнив команду
wget --output-document="/var/www/example.ru/yandex.market.xml" "http://example.ru/df-yandex-market/yml/?store-view=default"
с командной строки операционной системы по протоколу SSH от лица пользователя www-data.
Обратите внимание, что теперь надо перенастроить учётную запись партнёра в Яндекс.Маркете, указав там вместо веб-адреса
http://example.ru/df-yandex-market/yml/?store-view=defaultвеб-адрес создаваемого посредством cron файла:
http://example.ru/df-yandex-market/yandex.market.xml