Найти - Пользователи
Полная версия: Многопоточность urllib
Начало » Python для новичков » Многопоточность urllib
1
Zverushko
Доброго дня!
Есть задача сохранять разом большое количество урлов (50).
Если использовать urllib.request.urlopen в цикле, то 50 сайтов сохраняются в массив примерно за 25-30 секунд. Если использовать multiprocessing, то за 4 секунды.
Но, джанго с мультипроцессингом не дружит, баг достаточно давно существует, решается манкипатчингом. но это костыль и я его использовать не хочу.

Есть ли какой то еще вариант в котором можно быстро это делать?
Заранее спасибо!
plusplus
Использовать multithreading, запустить сохранение урлов в отдельном потоке, например.
Zverushko
multiprocessing? он не дружит с джанго, появляется ошибка
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_block'",) in <module 'threading' from '/usr/lib/python3.2/threading.py'> ignored
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_block'",) in <module 'threading' from '/usr/lib/python3.2/threading.py'> ignored
lorien
Можно использовать threading а не multiprocessing
plusplus
Zverushko
multiprocessing? он не дружит с джанго, появляется ошибка
http://docs.python.org/2/library/threading.html
http://docs.python.org/dev/library/concurrent.futures.html#threadpoolexecutor
Zverushko
plusplus
http://docs.python.org/2/library/threading.html
http://docs.python.org/dev/library/concurrent.futures.html#threadpoolexecutor
Спасибо! переписал функцию, все оч просто и понятно, вечером попробую как будет дружить с джанго
Но, сейчас используется threading для потоков, вроде все ровно, так что poolThreading должен нормально работать в теории
o7412369815963
Зачем оно в джанго проекте? Может сделать отдельным скриптом который стартовать через subprocess? Что хотите сделать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB