Выполнение параллельных запросов в Python с использованием модуля Multiprocessing |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-05-04 09:00 В таком случае можно использовать приложения, позволяющие формировать и исполнять запросы без необходимости загружать информацию в базу данных, например, используя Python. Недостаток такого подхода в том, что для каждой записи требуется формировать запрос — т.е. для набора из тысячи записей потребуется сформировать и запустить тысячу запросов, что займет много времени. Ускорить выполнение можно, если одновременно делать несколько запросов. Время, затрачиваемое на то, чтобы получить информацию из базы данных, заметно больше, чем время, уходящее на формирование и отправку запроса. Поэтому в параллельном выполнении есть смысл! В качестве основного модуля для решения данной задачи мы используем встроенный в Python модуль multiprocessing и входящие в него функции. Приведён список используемых модулей. После импорта модулей нам потребуется создать подключение к серверу. Далее объявляем функцию, которая будет выполнять загрузку одного «блока» исходных данных. В ней мы используем открытое в корне файла соединение для создания курсора к серверу, выполняем запрос с переменными, в который передаётся значение для подстановки на место переменной, и возвращаем полученный результат: И, наконец, объявляем функцию для создания потоков, которая формирует несколько процессов (в данном примере — четыре), и распределяет по ним передаваемый в функцию набор данных. Полученный .py файл необходимо сохранить, под именем, например, Multiprocess_example.py. В другом .py файле, в свою очередь, требуется импортировать этот файл по сохраненному имени, и вызвать ранее написанную функцию multiload, в которую передаются требуемые для поиска значения: Важно отметить, что, сокращая таким образом время, затрачиваемое на загрузку данных, при этом увеличивается нагрузка на сервер. Поэтому следует с умом подходить к выбору количества единовременно работающих запросов и стараться не запускать большое число потоков. Источник: newtechaudit.ru Комментарии: |
|