Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Многопоточность в python
|
|||
|---|---|---|---|
|
#18+
Всем привет. Прошу строго не судить, т.к. ранее с многопоточностью на Python не приходилось сталкиваться. Хотелось бы понять в рамках python'а, возможно, кто - нибудь сталкивался и поделится своим опытом "куда копать" лучше. Суть самой задачи: Есть много файлов ~ около 1500 (объем будет расти в дальнейшем). Содержимое этих файлов (HMTL разметка и данные) необходимо загрузить в другую ИС (в wiki - систему, через предоставляемый API). Реализован скрипт, который находит файл для загрузки, создает в ИС "объект" и копируется содержимое файла. ( около 4-5 часов данный скрипт работает). Можно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 13:19 |
|
||
|
Многопоточность в python
|
|||
|---|---|---|---|
|
#18+
Станислав КлевцовМожно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ? зачем потоки - несколько процессов запустить и ваши волосы будут в полном попрядке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 14:48 |
|
||
|
Многопоточность в python
|
|||
|---|---|---|---|
|
#18+
ИзопропилСтанислав КлевцовМожно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ? зачем потоки - несколько процессов запустить и ваши волосы будут в полном попрядке а что вы имеете ввиду под N-процессами ? ( 1 процесс - загружает первые 100 файлов, 2 - следующие 100 файлов и т.д.? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 14:58 |
|
||
|
Многопоточность в python
|
|||
|---|---|---|---|
|
#18+
Возможно, подойдет Pool.map() multiprocessing.Pool.map ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 15:50 |
|
||
|
Многопоточность в python
|
|||
|---|---|---|---|
|
#18+
Станислав Клевцова что вы имеете ввиду под N-процессами ? ( 1 процесс - загружает первые 100 файлов, 2 - следующие 100 файлов и т.д.? ) примерно так. первые 100 - условность, критерии назначения файлов процессам могут быть самые разные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 16:00 |
|
||
|
Многопоточность в python
|
|||
|---|---|---|---|
|
#18+
Станислав КлевцовМожно ли решить подобную задачу, разбив процесс загрузки на N-потоков и тем самым уменьшить время загрузки ? Эту задачу надо решать не потоками а асинхронными методами, курить библиотеку asyncio ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 16:22 |
|
||
|
Многопоточность в python
|
|||
|---|---|---|---|
|
#18+
ИзопропилСтанислав Клевцова что вы имеете ввиду под N-процессами ? ( 1 процесс - загружает первые 100 файлов, 2 - следующие 100 файлов и т.д.? ) примерно так. первые 100 - условность, критерии назначения файлов процессам могут быть самые разные Ок, понятно. Тогда "процесс" - это вызов хранимой функции с неким параметром ( критерием ). Как в коде реализовать выполнение функции сразу с 3 параметрами ( возрастет потребление CPU), а не ждать последовательного выполнения сначала с 1-ым, 2-ым и 3-ьим параметром одной и той же функции ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 19:25 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38990606&tid=1461699]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 409ms |

| 0 / 0 |
