Большие объемы обработки импорта данных (рабочие очереди) - PullRequest
0 голосов
/ 11 февраля 2019

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

У меня есть хранилище данных с файлами JSON, содержащими до 50 000 записей в каждой.Приложение должно позволять пользователю выбирать каталог и выполнять импорт записей 1 к 1 в другую базу данных с проверкой записей.Пользовательский интерфейс позволяет выбирать несколько каталогов.

Текущая реализация опирается на RabbitMQ и рабочих, которые выполняют следующее:

Пользовательский интерфейс отправляет запрос в API для отправки сообщения в очередь с идентификаторами каталога.Рабочие (приложения node.js) выполняют следующие действия:

  1. Получают сообщение
  2. Скачивают каталог
  3. Выполняют вставки с проверкой.

Такая обработка может занять довольно много времени для каждого каталога, и время обработки приводит к тому, что рабочий занят часами, занятыми одним сообщением.Каждый работник обрабатывает 1 сообщение за раз с ручным подтверждением в конце обработки.

Есть ли более эффективный способ обработки такого импорта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...