1b.app
Скопирована ссылка -

Оптимизация работы действия "Обновить наличие в opencart"

Добрый день! Возможна оптимизация работы действия, чтобы оно выполнялось за несколько секунд? Там же напрямую в БД выгрузка?

Сейчас в системе 7 915 товаров и выгрузка наличия по ним занимает 150-200 сек

Ответы:

Добрый день. Прям несколько секунд вероятно нет (бокс и опенкарт банально на разных серверах и каждый запрос в бд идет туда-обратно, т.е. много времени чисто на передачу запросов и получение ответов идет а не на само исполнение), но скорее всего можно сделать в пару раз быстрее. Займет 3ч доработки, выставить счет?
02.01.2024, 11:09

Да, выставляйте. Можно ещё дополнительно сделать настройку "Обновлять наличие только у продуктов, наличие у которых менялось за последние N минут"?

И скажите, возможно как-то через вебхуки реализовать мгновенную отправку наличия после его смены в опенкарт?
02.01.2024, 16:44


Родион писал/а:
Да, выставляйте. Можно ещё дополнительно сделать настройку "Обновлять наличие только у продуктов, наличие у которых менялось за последние N минут"?

да, +1ч. Только будет смотреть не на наличие а вообще на изменения в карточке продукта (поле udate). Если это делать и у Вас не много товаров обновляется каждый час то можно не делать оптимизаций, слаться будет намного меньше продуктов. Если же стоит какой то пересчет цен раз в час, тогда это никак не поменяет ситуацию, обновлены будут все продукты и пошлются тоже все.


Родион писал/а:
И скажите, возможно как-то через вебхуки реализовать мгновенную отправку наличия после его смены в опенкарт?

Да, в автоматизации по обновлению продукта можно сделать действие, которое будет в фоне обновлять наличие продукту после обновления карточки. Займет около 4ч.
02.01.2024, 17:24


Отдел Заботы
OneBox production писал/а:
да, +1ч. Только будет смотреть не на наличие а вообще на изменения в карточке продукта (поле udate). Если это делать и у Вас не много товаров обновляется каждый час то можно не делать оптимизаций, слаться будет намного меньше продуктов. Если же стоит какой то пересчет цен раз в час, тогда это никак не поменяет ситуацию, обновлены будут все продукты и пошлются тоже все.

Да, у нас запускается пересчёт цен раз в час, но если, например, сделать настройку "Обновлять наличие только у продуктов, наличие у которых менялось с момента последнего запуска действия", то нам подойдёт. Действие будет отрабатывать каждую минуту и выгружать остатки только по товарам, которые, обновились между выгрузками и раз в час по всем. Так же будет работать?


Отдел Заботы
OneBox production писал/а:
Только будет смотреть не на наличие а вообще на изменения в карточке продукта (поле udate)

а можно сделать по аналогии с действием "Выгрузить продукты/категории/фильтры/характеристики в opencart (через БД)"? В нём можно выбрать поля наличия и кол-ва, при изменении которых будет выгружаться продукт.
05.01.2024, 00:32


Родион писал/а:
а можно сделать по аналогии с действием "Выгрузить продукты/категории/фильтры/характеристики в opencart (через БД)"? В нём можно выбрать поля наличия и кол-ва, при изменении которых будет выгружаться продукт.

можно, но не все измения этих полей есть в истории. Тот же пересчет цен может поменять наличие без записи в историю
05.01.2024, 12:15

Потестировал, вроде бы все процессы, что происходят у нас меняют дату обновления товара, и есть записи в логах:

storaged - при изменении кол-ва товара на складах,
availtext - при пересчёте,
avail - если товара нет ни у нас, ни у поставщика или наоборот появился.

Давайте тогда сделаем настройку, чтобы выгружались только товары, у которых с момента последнего запуска действия были изменения этих 3х полей (storaged, availtext, avail).

Ещё нужны 2 сопутствующих доработки, создать новую тему или можно всё вместе сделать?

1. При обновлении прайса, по товарам загружаемого поставщика, которых нет в прайсе (по ним выключается наличие, но нам так и нужно) не происходит пересчёт цен. Нужна настройка, чтобы он запускался.
2. При изменении вручную наличия у поставщика по товару в карточке товара оно изменяется тоже - я так понимаю, происходит пересчёт наличия. Но при изменении цены поставщика и ррц пересчёт не происходит. Нужна настройка, чтобы запускался пересчёт цен и наличия по товару при сохранении информации поставщика по этому товару.
07.01.2024, 15:13

Добрый день! Подтвердите, пожалуйста, доработки, и ждём счёт
10.01.2024, 13:11


Родион писал/а:
Потестировал, вроде бы все процессы, что происходят у нас меняют дату обновления товара, и есть записи в логах:

storaged - при изменении кол-ва товара на складах,
availtext - при пересчёте,
avail - если товара нет ни у нас, ни у поставщика или наоборот появился.

Давайте тогда сделаем настройку, чтобы выгружались только товары, у которых с момента последнего запуска действия были изменения этих 3х полей (storaged, availtext, avail).

ок, 4ч


Родион писал/а:
Ещё нужны 2 сопутствующих доработки, создать новую тему или можно всё вместе сделать?

1. При обновлении прайса, по товарам загружаемого поставщика, которых нет в прайсе (по ним выключается наличие, но нам так и нужно) не происходит пересчёт цен. Нужна настройка, чтобы он запускался.




Родион писал/а:
2. При изменении вручную наличия у поставщика по товару в карточке товара оно изменяется тоже - я так понимаю, происходит пересчёт наличия. Но при изменении цены поставщика и ррц пересчёт не происходит. Нужна настройка, чтобы запускался пересчёт цен и наличия по товару при сохранении информации поставщика по этому товару.



Выставлять счет?
10.01.2024, 14:03


Отдел Заботы
OneBox production писал/а:
Родион писал/а:
Ещё нужны 2 сопутствующих доработки, создать новую тему или можно всё вместе сделать?

1. При обновлении прайса, по товарам загружаемого поставщика, которых нет в прайсе (по ним выключается наличие, но нам так и нужно) не происходит пересчёт цен. Нужна настройка, чтобы он запускался.



да, выставляйте


Отдел Заботы
OneBox production писал/а:
Родион писал/а:
2. При изменении вручную наличия у поставщика по товару в карточке товара оно изменяется тоже - я так понимаю, происходит пересчёт наличия. Но при изменении цены поставщика и ррц пересчёт не происходит. Нужна настройка, чтобы запускался пересчёт цен и наличия по товару при сохранении информации поставщика по этому товару.



да, выставляйте


Отдел Заботы
OneBox production писал/а:

Родион писал/а:
Потестировал, вроде бы все процессы, что происходят у нас меняют дату обновления товара, и есть записи в логах:

storaged - при изменении кол-ва товара на складах,
availtext - при пересчёте,
avail - если товара нет ни у нас, ни у поставщика или наоборот появился.

Давайте тогда сделаем настройку, чтобы выгружались только товары, у которых с момента последнего запуска действия были изменения этих 3х полей (storaged, availtext, avail).

ок, 4ч

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


Отдел Заботы
OneBox production писал/а:
да, +1ч. Только будет смотреть не на наличие а вообще на изменения в карточке продукта (поле udate)
10.01.2024, 16:38

если без оптимизации и просто слать те товары у которых поменялись выбранные поля, то 1ч
10.01.2024, 17:31


Отдел Заботы
OneBox production писал/а:
если без оптимизации и просто слать те товары у которых поменялись выбранные поля, то 1ч

Да, давайте пока без оптимизации, отправляем только товары, у которых поменялись эти поля. И с момента последнего запуска этого действия.
10.01.2024, 17:38

Итого:
1. В действии экспорта наличия продуктов в опенкарт отправляем только те продукты у которых менялись выбранные поля за указанные Х минут (к-во минут будете задавать сами и выбирать поля, среди доступных будет пару полей типо storaged availtext avail). 1ч
2 и 3 пункты детально описаны выше.
Всего 5ч, выставляю счет.
11.01.2024, 11:40

Да, всё верно! На всякий случай уточню:


Отдел Заботы
OneBox production писал/а:
1. В действии экспорта наличия продуктов в опенкарт отправляем только те продукты у которых менялись выбранные поля за указанные Х минут (к-во минут будете задавать сами и выбирать поля, среди доступных будет пару полей типо storaged availtext avail). 1ч

Действие Обновить наличие в opencart в разделе Автоматизация раз в минуту


Родион писал/а:
1. При обновлении прайса, по товарам загружаемого поставщика, которых нет в прайсе (по ним выключается наличие, но нам так и нужно) не происходит пересчёт цен. Нужна настройка, чтобы он запускался.

Нужно запускать Персчёт цен и НАЛИЧИЯ


Родион писал/а:
2. При изменении вручную наличия у поставщика по товару в карточке товара оно изменяется тоже - я так понимаю, происходит пересчёт наличия. Но при изменении цены поставщика и ррц пересчёт не происходит. Нужна настройка, чтобы запускался пересчёт цен и наличия по товару при сохранении информации поставщика по этому товару.

Запускать пересчёт цен и наличия при сохранении любых изменений в разделе Поставщики по товару

Жду счёт, спасибо!
11.01.2024, 13:35

Добрый день! Сориентируйте, пожалуйста, по срокам реализации доработок, спасибо.
18.01.2024, 12:11

Когда ожидать готовности?
24.01.2024, 00:41

Прошло уже 22 дня, дайте хоть какой-то ответ. Когда будут реализованы доработки?
02.02.2024, 22:46

Добрый день, обычно доработки делаются до месяца с момента оплаты, максимум что я видел около 6-7 недель.
05.02.2024, 11:35


Отдел Заботы
OneBox production писал/а:
Добрый день, обычно доработки делаются до месяца с момента оплаты, максимум что я видел около 6-7 недель.

Ок, уточните, пожалуйста, когда примерно эту ожидать?
05.02.2024, 12:04

примерно на этой неделе
05.02.2024, 15:39

Спасибо, ждём.

На всякий продублирую уточнения:


Родион писал/а:
Да, всё верно! На всякий случай уточню:


Отдел Заботы
OneBox production писал/а:
1. В действии экспорта наличия продуктов в опенкарт отправляем только те продукты у которых менялись выбранные поля за указанные Х минут (к-во минут будете задавать сами и выбирать поля, среди доступных будет пару полей типо storaged availtext avail). 1ч

Действие Обновить наличие в opencart в разделе Автоматизация раз в минуту


Родион писал/а:
1. При обновлении прайса, по товарам загружаемого поставщика, которых нет в прайсе (по ним выключается наличие, но нам так и нужно) не происходит пересчёт цен. Нужна настройка, чтобы он запускался.

Нужно запускать Персчёт цен и НАЛИЧИЯ


Родион писал/а:
2. При изменении вручную наличия у поставщика по товару в карточке товара оно изменяется тоже - я так понимаю, происходит пересчёт наличия. Но при изменении цены поставщика и ррц пересчёт не происходит. Нужна настройка, чтобы запускался пересчёт цен и наличия по товару при сохранении информации поставщика по этому товару.

Запускать пересчёт цен и наличия при сохранении любых изменений в разделе Поставщики по товару

Жду счёт, спасибо!
05.02.2024, 15:44

Добрый день. Доработаны следующие настройки
1. В действии "Обновить наличие в opencart" настройка "Выберите поля продукта. Продукт будет выгружен только если у него изменялось одно из выбранных полей с момента последней выгрузки данным действием"
2. В прочих настройках приложения "Поставщики и прайс-листы" настройка "Запускать пересчет цен для продуктов которых нет в наличии у поставщика после загрузки прайса поставщика".
3. В блоке продукта "Поставщики" настройка "Запускать пересчет цен и наличия после сохранении данного блока (пересчет цен и наличия продукта будет запущен в фоне)"
07.02.2024, 13:32


Отдел Заботы
OneBox production писал/а:
3. В блоке продукта "Поставщики" настройка "Запускать пересчет цен и наличия после сохранении данного блока (пересчет цен и наличия продукта будет запущен в фоне)"

Я так понимаю, сделали настройку не там, где нужно.


Родион писал/а:
2. При изменении вручную наличия у поставщика по товару в карточке товара оно изменяется тоже - я так понимаю, происходит пересчёт наличия. Но при изменении цены поставщика и ррц пересчёт не происходит. Нужна настройка, чтобы запускался пересчёт цен и наличия по товару при сохранении информации поставщика по этому товару.
Screenshot_86.png

В ТЗ отправлял скрин - это приложение Поставщики и прайсы, не блок в интерфейсе товара (даже не знал о его существовании).
12.02.2024, 15:03

Добрый день, поправьте, пожалуйста, не можем воспользоваться доработкой - хотели отключить автоматизацию каждый час Пересчёт цен и оставить пересчёт только по редактированию.
16.02.2024, 12:01

Хотя ладно, будем использовать этот блок
16.02.2024, 12:27

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