1b.app
Скопійоване посилання -

Оцініть доопрацювання дії

Зараз механізм вибірки оновленних данних, в дії "Импорт продуктов из CMS ExtraParts", здійснюється запитом:
"SELECT * FROM `price` WHERE `post_date` >= '{$postDateFrom}' ORDER BY `price`.`id` ASC"
Де в змінній '{$postDateFrom}' використовується час останнього запуску дії.

Проблема в тому, - коли в `price` різко з'являється Велика кількість оновленних даних (наприклад 4.6 Мільйонів), дія бере в роботу великий массив данних (близько 12G), процесс обробки якого триває годинами (близьбко 5год.), що призводить до тайм-аутів або помилок в експортованих продуктах чи інших збоїв експорту данних ...

Необхіно допрцювати механізм вибірки оновленних данних:

1. Брати в бробку обмежену (наприклад вказану в налаштуваннях 100 000 рядків) кількість данних за один запуск дії, оброблювала цей массив і припиняти роботу дії.
При Наступному Запуску Дії, в обробку брати наступну кількість оновленних данних і так далі.

2. Якщо одночасно(паралельно) працюють дві і більше дії експорту - дані між ними мають Розподілятися, щоб не оброблювати кожною з дій одні і тіж дані.

Відповіді:

Уточніть будь ласка проблема в тому, що це все довго працює або в тому, що дає навантаження на сервер? Якщо в тому, що довго працює, ми можемо влити дані паралельно потоків так в 30-40, якщо в тому, що вантажить сервер, то вже інше питання.

Олександр Григорович писав/ла:
Брати в бробку обмежену (наприклад, вказано в налаштуваннях 100 000 рядків)

ну і якщо бити по 100к то Ви ніколи не наздоженете актуальний стан.
22.04.2024, 13:28
Оригінальний коментар доступний на версії: ru

Можливо також можна прискорити завантаження товарів, щоб це було в Х разів швидше на такому к-ві
22.04.2024, 13:29
Оригінальний коментар доступний на версії: ru

Так, проблема в тому, що дуже довго працює, і чим довше триває цей процес, тим вища ймовірність збою експорту.
Ресурсів сервера вистачає, тому я і запропонував експортувати частинами та паралельними діями
22.04.2024, 13:56
Оригінальний коментар доступний на версії: ru


Олександр Григорович писал/а:
тим вища ймовірність збою експорту

так а какие сбои вы наблюдаете сейчас в таких ситуациях?
22.04.2024, 13:58


Відділ турбот
OneBox production написав:

Олександр Григорович писав/ла:
тим вища ймовірність збою експорту

та а які збої ви спостерігаєте зараз у таких ситуаціях?

Найчастіше якщо експорт триває дуже довго, то продукти починає затирати бренди або створювати нові без бренду (змінна $brandid повертає порожнє значення...) - це створює великі проблеми.
22.04.2024, 14:11
Оригінальний коментар доступний на версії: ru

якщо проблема тільки в цьому, це фіксується за 1ч доробки.
22.04.2024, 14:26
Оригінальний коментар доступний на версії: ru

Якщо є рішення як прискорити експорт, що дозволить успішно заливати таку кількість і при цьому позбавитися втрати бренду, то виставляйте рахунок.
22.04.2024, 14:34
Оригінальний коментар доступний на версії: ru

це рішення дозволить запам'ятати весь список брендів і шукати їх з кешу, це також трохи прискорить імпорт але не думаю що глобально. Давайте спробуємо, виставлю рахунок
22.04.2024, 15:30
Оригінальний коментар доступний на версії: ru


Відділ турбот
OneBox production написав:
це рішення дозволить запам'ятати весь список брендів і шукати їх з кешу, це також трохи прискорить імпорт але не думаю що глобально. Давайте спробуємо, виставлю рахунок

Одного рішення брати бренд із Кеша буде недостатньо, я перевіряв.
Повністю відключав у класі метод отримання бренду, його оновлення - прискорює, але недостатньо.
Лити в кілька потоків вдасться реалізувати?
22.04.2024, 16:08
Оригінальний коментар доступний на версії: ru

Начхати на швидкість, якщо за підсумком все заллє нормально. Якщо лити кілька потоків ми можемо сильно навантажити зовнішню базу і свою.
22.04.2024, 16:32
Оригінальний коментар доступний на версії: ru

Можемо зробити по-іншому, я роблю щоб Ваше завантаження 4 лям записів працювало наприклад годину, після Ви оплачуєте за витраченим часом.
22.04.2024, 16:33
Оригінальний коментар доступний на версії: ru


Відділ турбот
OneBox production написав:
Можемо зробити по-іншому, я роблю щоб Ваше завантаження 4 лям записів працювало наприклад годину, після Ви оплачуєте за витраченим часом.

Згоден, довше гадатимемо, по ходу справи розберетеся.
Робіть за фактом оплачу.
22.04.2024, 16:38
Оригінальний коментар доступний на версії: ru

Будь ласка, приєднуйтесь до діалогу. Якщо вам є що сказати – будь ласка, напишіть коментар. Для входу потрібний мобільний телефон та смс-код для ідентифікації. Увійти та написати коментар