loopback обрабатывает длинные запросы / процессы

Предположим, я получил большой CSV-файл с большим количеством данных в нем, и сервер обратной связи должен проанализировать все эти данные после загрузки файла, запустить некоторые процессы в нем (например, создать учетные записи пользователей и сделать некоторые другие регистрации, связанные с учетной записью, или просто создайте запись базы данных для каждой строки в файле) и скажите, что в этом файле, возможно, содержится от 10 000 до 3 000 000 записей (я использую MySQL, кстати, для этого тоже есть лучший вариант), это занимает много времени. время для обработки всего этого, есть ли "аккуратный" способ справиться с этим? прямо сейчас, что я делаю, после получения файла я возвращаю ответ пользователю в моем удаленном методе callback(null,{message:'got file, server still working'}); и продолжить обработку в фоновом режиме (в той же строке кода удаленного метода, я просто не перезваниваю после того, как сделано, потому что я уже сделал), а затем я запускаю интервал таймера 500 мс во внешнем интерфейсе, чтобы запросить состояние процесса в другом конечная точка (я сохраняю процент выполнения в строке поля в базе данных, для запроса этой конечной точки), это способ сделать это? или есть лучший вариант? Я уже выполняю запросы mysql в группах по 10000 для каждого коммита, и я также отключаю проверку внешнего ключа (я использую запрос запроса коннектора mysql напрямую). Заранее спасибо:)

0 ответов

Другие вопросы по тегам