Модуль от RetailFactory.ru: Автоматизация прайсов поставщиков. Импорт товаров, обновление цен и остатков из Excel/XML/CSV файлов

Добрый день!

У товара есть колонка updated_timestamp, там хранится дата изменения. Можно вывести через нее.

1 лайк

Я думаю мы сделаем префиксы, но пока до НГ планируем релиз нескольких поставщиков на 1 товар, поэтому эту фичу сделаем не очень скоро.

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

Ок, спасибо, буду ждать.

Добрый день. Вопрос по кронам/расписанию запусков.

У вас в документации сказано:

Модуль позволяет собирать файлы с удаленных серверов. Просто укажите ссылку на файл и с какой периодичностью забирать. Округление до часов, время указывается также как в CRON… К примеру, если вы укажите */1 - парсер будет работать раз в час, если укажете */2 - раз в два часа.

Вопрос: можно ли указывать не только с округлением до часа, как у вас написано, а, например, вот такое расписание указывать:
5 6 * * *


т.е. хочу запускать его раз в день в 6:05 (мне поставщик присылает файл с остатками в 6:00). Просто я так указал, но у меня не срабатывает почему-то парсер. При этом, если вручную из этого файла взять несколько строк и запустить, то всё срабатывает.

В первой версии точно не будет поддержки - поставщик = равно склад.

По цене и тд тоже пока очень простые механики будут.

У вас время точное запуска, поэтому вам надо согласно нашей инструкции добавить крон с точным временем. В секции расписание это не указывается, там можно задаьт периодичность. Можете ее оставить пустой.

Если вы хотите запускать выполнение крона чаще для конкретного прайс листа, добавьте несколько параметров в крон:
0 * * * * * php /path_to_admin_script/admin.php --dispatch=rf_stock_parser.cron --parser_id=ID --force=1

Вам надо указать конкретный парсер + флаг force

Неужто вы для остатков свои поля добавите и будет быстро обновляться? Учитываю логику складов даже страшно представить как это будет стыковаться.

Добавьте плиз в расписание задач поле день, час и минуты.
т.е. как в кроне.
В кроне сервера очень уж неудобно прописывать. их же десятки. путаница.
Как то так.

Складов пока не будет для мультипоставщиков именно по этой причине.

Не будем, это двойная работа, в кроне это все можно указать. Используйте комментарии к кронам.

Можете логику описать?
Например есть 3 поставщика на один товар
1 остаток 3, цена 2500
2 остаток 5, цена 3000
3 остаток 10, цена 3500

что получим в итоге в остатках и цене товара?

Ок. Добавьте тогда хотя бы какое то поле приоритет/порядок выполнения.
Сейчас например есть десять задач на 22.00 и не понятно какая сработает первая.

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

1 лайк

Создал на хостинге крон:
50 9 * * * php /srv/projects/site.ru/public_html/admin.php --dispatch=rf_stock_parser.cron --parser_id=3 --force=1 > /dev/null 2>&1

В 9:50 он запустился вроде как, по крайней мере в админке сайта в списке парсеров ползунок появился:

Сейчас в 13:30 зашёл проверить. Вопросы:

  1. Что означают столбцы “Последний запуск” и “Обновлён”? Я запустил крон в 9:50, почему это время в столбце “Последний запуск” не фигурирует? Как-то можно будет потом проверить итоговое время выполнения парсера?
  2. В указанном на скрине парсере обрабатывается файл поставщика, где 40 тыс. строк/товаров. Запущен был в 9:50, на момент 13:30 (спустя 3.5 часов) судя по ползунку он где-то на 1/3 отработал.

    Это вообще нормально? У кого с какой скоростью отрабатывают парсеры из этого модуля? Просто это я на тестовой копии сайта решил купить и обкатать этот модуль, а на рабочей пока используется кастомный парсер другого разработчика, там этот файл поставщика часа за 3 целиком отрабатывает. Может я просто что-то не так настроил, конечно, но пока сомнительный результат.

Вы не прислали конфигурацию парсера, какие данные вы там обновляете. Лучше было проверить загрузив вручную и вы увидите реальное время работы. Тестовый сервере наверняка еле живой? Сравнивать с парсером, который сделан под конкретную задачу очень некорретно.

Обновляю вообще всего одно поле: остатки:


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

Копия на том же сервере, где и живой сайт: simtech за 200$/месяц, т.е. очень не дешёвый тариф.

Добавте уже плиз проверку когда что то идет не так!
Тысячи товаров отключаются и об этом никак НЕ возможно узнать.
Такое происходит довольно регулярно с xml, ведь по нему нет проверки.
Это все очень пагубно сказывается на рекламе и продажах.

Это же так просто но избавит от кучи проблем - если число сильно отличается от предыдущего, то присылать уведомление на почту.
image

Проблема в модуле склады, его не ускорить. Доработка скорее всего не работает через ядро и рано или поздно у вас будут сбои (мы уже писали если не ошибаюсь с модулем поиска, некоторые доработки у вас сделаны некорректно, но разбираться не стали). Разработчики видимо пишут сразу в базу, это не правильно и конкретно для складов не работает.

Можете почитать весь срач, или просто предпоследнее сообщение.
Ну и Карту напишите в тикете, что их импорт Складов овно…
Вдруг ускорят разработку.
https://forum.cs-cart.ru/t/skorost-obnovleniya-skladov-3-33-tovara-v-sekundu/20322/46

1 лайк

Проверка XML не поможет, у нас есть оповещение, что цены изменились радикально и вы можете на это среагировать и поправить ситуацию проблемную.

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

цена не меняется, товары отключаются, т.к. парсер не видит их в файле.

image

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

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


image

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

Обновление цен и остатков на сайте будет работать быстро и надежно. Это самый удобный и самый быстрый способ отслеживать наличие и цены товаров на основе прайсов.

Работы с большим объемом данных. Модуль способен обработать прайсы в которых 1.000.000 строк и товаров.

Мне страшно представить, как он 1кк обрабатывает, если у меня 40к уже 3.5 часа и 1/3 в итоге.

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

Можете на это пожалуйста ответить: