Форум сайта python.su
Смысл более-менее умного тредпула - чтобы сайт не зафлуживался запросами и не падал или не банил клиента.
Офлайн
По-моему, мы по разному понимаем слово тред-пул. В моём понимании это просто контроллер, позволяющий выполнить N задач в нескольких тредах, ограниченных числом M. Cобсно вот: https://bitbucket.org/lorien/grab/src/63c804b800d1/grab/tools/work.py - ни про какие сайты этот тред-пул не знает.
> Смысл более-менее умного тредпула - чтобы сайт не зафлуживался запросами и не падал или не банил клиента.
Я иногда думаю подобное написать, но чтобы написать универсальный настраиваемый менеджер потоков надо много энергии затратить. Проще кол-во потоков на глазок ставить. Сайт упал? Ставим меньше :D
Офлайн
Ну настроек должно быть ровно две - общее количество тредов и на (указанный) сайт. Первое, как я понимаю, уже есть?
Офлайн
Ага. То о чём вы говорите это скорее функционал Grab:Spider - это фреймворк для написания асинхронных спайдеров. Там можно подумать о нагрузке на конкретный сайт. На самом деле обычно спайдер обрабатывает один определённый сайт. Так что настройка общего кол-ва потоков автоматически превращается в настройку для кол-ва потоков для сайта.
Я бы вообще не рекомендовал использовать треды (thread, threading) для парсинга. Большое количество тредов жрёт память и процессор.
Офлайн
lorienКраеугольный камень срача “треды vs кооперативная многозадачность”.
Я бы вообще не рекомендовал использовать треды (thread, threading) для парсинга. Большое количество тредов жрёт память и процессор.
Офлайн
Краеугольный камень срача “треды vs кооперативная многозадачность”.не понял
Есть одна программка для проверки проксей. Так вот, при проверке она жрет лишь незначительно больше (ну, может, порядка 10 метров) при том, что она спавнит 500 тредов. ЧЯДНТ?
Что такое “большое количество тредов”? Я читал лишь о “проблеме 10 к соединений”, когда есть 10к+ соединений, где клиенты практически ничего не делают. 10к на клиенте - ситуация редкая, такое больше характерно для серверов.
И кооперативная многозадачность - вовсе не серебрянная пуля. Не говоря о том, что треды лучше параллелятся (для питона неактулально).
И вообще, здесь имхо это оффтоп. Этот тред о том, какое УГ встроенные средстра питона и как смачно питонистам рвет попки, когда им об этом говорят :))
Офлайн
lorienВообще ничего не понял? :) Speak russian?
не понял
lorienВот это можете обьяснить?
Я бы вообще не рекомендовал использовать треды (thread, threading) для парсинга. Большое количество тредов жрёт память и процессор.
Офлайн
asilyator
Не говоря о том, что треды лучше параллелятся (для питона неактулально).
asilyator
Этот тред о том, какое УГ встроенные средства питона и как смачно питонистам рвет попки, когда им об этом говорят :))
Офлайн
> Краеугольный камень срача “треды vs кооперативная многозадачность”.
Вы заблуждаетесь, я не учавствую в сраче. Просто рекомендую использовать асинхронность т.к. она меньше систему грузит. Если вам нравится использовать треды, ради бога.
Офлайн
О, а вот и первый пациент :)
slav0nicЧто многотредовое приложение на питоне не будет работать быстрее на многоядернике, чем на одноядернике с такой же частотой?
asilyator
Не говоря о том, что треды лучше параллелятся (для питона неактулально).
смелое утверждение %) очередное горе от ума и не понимание GIL в полной мере.
slav0nicТы две строчки способен прочесть?
да и интересно какой у тебя интернет канал, чтоб рационально использовать 500 тредов + не убить сайт.
Офлайн