Указать файл при запуске импорта из командной строки

Импорт можно запустить из командной строки -p --dispatch=advanced_import.import.import --preset_id=

А вот как здесь указать этому пресету принудительно путь к файлу, который нужно импортировать?

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

1 лайк

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

Скажите а какую вы проблему именно пытаетесь решить? зачем передавать путь через крон?

Банально. Распилить большой файл на много маленьких ибо с большим он работать не очень хочет, вернее, слишком много памяти ему нужно.

1 лайк

А что пилите? Если не ошибаюсь вы же наш клиент (могу путаться). У нас большие файлы читаются без проблем. Какие данные обновить вам надо?

Ваш я тоже посмотрел, там нельзя характеристики в старом формате использовать (в одной ячейке).

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

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

Если часто то ок. Просто характеристики обычно заносятся при создании. Тогда удачи в поиске решения. Может кто решал.

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

1 лайк

Еще один звоночек добавить таки в ваш модуль обновление характеристик. ))
У нас тоже никто их сразу не заносит, т.к. писанина поставщиков просто НЕ совпадает с порядком на сайте.
Обычно заливаем новые товары быстро - название картинки, чтобы в выдаче быть повыше. А потом уже идет причесывание характеристик.

В общем вот вам решение кому нужно. Естественно через жопу, ну как разработали…

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

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

1 лайк

Как же вы заморочились…
Вариант.
Пишем баш скрипт:

читаем директорию получаем список файлов
в цикле
перемещаем файл с заданным конечным именем
крон команда запуска пресета
конец цикла
удаляем файл с конечным именем
конец скрипта

баш скрипт в крон
загрузили файлы - скрипт при следующем запуске обработает. если файлов нет - соответственно и цикла не будет

1 лайк

Ну я абсолютно тоже самое и написал.

1 лайк

И точно, я почему-то подумал, что Вы про “сделать ручками” ))