Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Многопоточность в python / 8 сообщений из 8, страница 1 из 1
23.06.2015, 13:19
    #38990606
Станислав Клевцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
Всем привет.

Прошу строго не судить, т.к. ранее с многопоточностью на Python не приходилось сталкиваться.
Хотелось бы понять в рамках python'а, возможно, кто - нибудь сталкивался и поделится своим опытом "куда копать" лучше.

Суть самой задачи:
Есть много файлов ~ около 1500 (объем будет расти в дальнейшем).
Содержимое этих файлов (HMTL разметка и данные) необходимо загрузить в другую ИС (в wiki - систему, через предоставляемый API).
Реализован скрипт, который находит файл для загрузки, создает в ИС "объект" и копируется содержимое файла. ( около 4-5 часов данный скрипт работает).

Можно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ?


Заранее спасибо.
...
Рейтинг: 0 / 0
23.06.2015, 14:48
    #38990694
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
Станислав КлевцовМожно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ?
зачем потоки - несколько процессов запустить и ваши волосы будут в полном попрядке
...
Рейтинг: 0 / 0
23.06.2015, 14:58
    #38990714
Станислав Клевцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
ИзопропилСтанислав КлевцовМожно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ?
зачем потоки - несколько процессов запустить и ваши волосы будут в полном попрядке

а что вы имеете ввиду под N-процессами ? ( 1 процесс - загружает первые 100 файлов, 2 - следующие 100 файлов и т.д.? )
...
Рейтинг: 0 / 0
23.06.2015, 15:50
    #38990794
Grunch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
Возможно, подойдет Pool.map()
multiprocessing.Pool.map
...
Рейтинг: 0 / 0
23.06.2015, 16:00
    #38990810
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
Станислав Клевцова что вы имеете ввиду под N-процессами ? ( 1 процесс - загружает первые 100 файлов, 2 - следующие 100 файлов и т.д.? )
примерно так. первые 100 - условность, критерии назначения файлов процессам могут быть самые разные
...
Рейтинг: 0 / 0
23.06.2015, 16:22
    #38990840
FishHook
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
Станислав КлевцовМожно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ?
Эту задачу надо решать не потоками а асинхронными методами, курить библиотеку asyncio
...
Рейтинг: 0 / 0
23.06.2015, 19:25
    #38991024
Станислав Клевцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
ИзопропилСтанислав Клевцова что вы имеете ввиду под N-процессами ? ( 1 процесс - загружает первые 100 файлов, 2 - следующие 100 файлов и т.д.? )
примерно так. первые 100 - условность, критерии назначения файлов процессам могут быть самые разные

Ок, понятно. Тогда "процесс" - это вызов хранимой функции с неким параметром ( критерием ).


Как в коде реализовать выполнение функции сразу с 3 параметрами ( возрастет потребление CPU), а не ждать последовательного выполнения сначала с 1-ым, 2-ым и 3-ьим параметром одной и той же функции ?
...
Рейтинг: 0 / 0
23.06.2015, 19:49
    #38991039
Станислав Клевцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопоточность в python
GrunchВозможно, подойдет Pool.map()
multiprocessing.Pool.map

посмотрел, попробую покрутить. спасибо
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Многопоточность в python / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]