Kop
можно писать асинхронный код
А разве это будет работать с реквестами?
Tigran
А разве это будет работать с реквестами?
с реквестами не будет, но это ведь ничего страшного, поделаешь запросы другой библиотекой
Vladislav
у нас есть главная программа, которую мы назовем main, в ней будет класс с названием main, в котором будет функция с названием main
А вообще если в каждой ситуации каждой сущности давать говорящее имя, то такого не произойдет
Tigran
я хз, но они наверняка есть (они не могут не есть)
🍁 Jaŭhien
Можно запилить свой ивентлуп и делать запросы с реквестами
Перчик
можно писать асинхронный код
и запускать его на геораспределенном кластере, вроде тут это обсуждали...
vozmyomDlyaPrimeraTakyuPonyatnyuSyshnost )))
def ya_koneshno_ne_expert(no):
🍁 Jaŭhien
Пример подобного есть ?
Полно в интернетах
Kop
Полно в интернетах
Ну посмотрю, но сомневался что с оеквестаси живет
🍁 Jaŭhien
Ну посмотрю, но сомневался что с оеквестаси живет
Юзаешь селект с конечным автоматом
🍁 Jaŭhien
Или на генераторах
cookie🍪
def ya_koneshno_ne_expert(no):
а ты хорош...
Vladislav
vozmyomDlyaPrimeraTakyuPonyatnyuSyshnost )))
:) ну правда же, если имена выбраны нормально, они вряд-ли совпадут, а если совпали, то мб стоит пересмотреть архитектуру, разве не?
Tishka17
у нас есть главная программа, которую мы назовем main, в ней будет класс с названием main, в котором будет функция с названием main
У меня вот есть пакет app с модулем app и переменной app внутри. И хз как это лучше назвать.
cookie🍪
:) ну правда же, если имена выбраны нормально, они вряд-ли совпадут, а если совпали, то мб стоит пересмотреть архитектуру, разве не?
да я вроде и не спорил, просто нужно не только "говорящую" переменную, надо ведь её понимать
Sergey
Ну посмотрю, но сомневался что с оеквестаси живет
В синхронном неторопливом парсинге есть свои плюсы - меньше вероятность, что забанят
Sergey
У меня вот есть пакет app с модулем app и переменной app внутри. И хз как это лучше назвать.
Это потому что создателю пакета лень было думать над названиями сущностей
Tishka17
Это потому что создателю пакета лень было думать над названиями сущностей
Ну разве что можно пакет переименовать, но толку. Он все равно живёт в единственном экземпляре в докере
А чем треды не устраивают?
Питоник вей лучше юзать асинк
Kop
А чем треды не устраивают?
Нормально распределить на 20 тредов не получается
🍁 Jaŭhien
Питоник вей лучше юзать асинк
Когда это асинк стал питоник? 🤔
cookie🍪
у некоторых туториалов есть плохая привычка называть тестовую виртуальную среду как venv... некоторые не понимаю, что это пример, и называть для всех проектов виртуальную среду как venv не лучшая затея
Когда это асинк стал питоник? 🤔
Он всегда был, одно ядро питона не позволяет ощутить треды как таковой
🍁 Jaŭhien
Нормально распределить на 20 тредов не получается
Складываешь ссылки в очередь и напускаешь на нее тредпул, все само распределится
🍁 Jaŭhien
Он всегда был, одно ядро питона не позволяет ощутить треды как таковой
Не стоит вскрывать эту тему, вы молодые, шутливые
Не стоит вскрывать эту тему, вы молодые, шутливые
Я конечно вкурсе отключения GIL, Multiprocessing, просто не хочу крашится на одновременной попытке доступа к памяти
cookie🍪
Почему?
потому что потом все проекты называются venv, хз почему, как потом понять что есть что, хз
К тому же питон скриптовый язык, зачем ему два+ ядра
Tishka17
Нефтг юзать один venv много раз
Tishka17
Не в названии дело вообще
cookie🍪
В смысле? Папка внутри проекта. Одна.
не не, в одной среде пачку проектов
cookie🍪
откуда я знаю?
Tishka17
Ну так ещё раз - не в названии дело
У меня с тредами все в порядке, не знаю что у тебя за сложности
Работать они работают, но в рамках одного треда/ядра
К тому же треды снижают эффективность на доли процента
🍁 Jaŭhien
Переключение между тредами занимает время
Ты б почитал как себя гил ведет
Угум, читал и тесты производительности смотрел
Sergey
Если в каждом треде считать миллион знаков Пи, после запятой, то да, толку не будет, а реквест - вполне себе нормально
Реквест же не на уровне питона работает
🍁 Jaŭhien
Блин, чувак
это смотря сколько тредов
Чем больше, тем хуже
Oleg
Чем больше, тем хуже
спасибо, капитан
Sergey
Реквест же не на уровне питона работает
При запросе питон все равно стоит и ждёт ответа, он мог бы переключиться и сделать ещё один (несколько) запрос за это время
Sergey
это смотря сколько тредов
Любой классный инструмент можно извратить (3-этажные List comprehensions или lambda, сейчас вот "моржики" стаями пойдут)
cookie🍪
Ну так ещё раз - не в названии дело
ну да, чет я туплю походу 🙈
Sergey
И как подобное сделать кроме как не отдельные треды?
В чем, все таки трудность использовать aiohttp-client?
Kop
В чем, все таки трудность использовать aiohttp-client?
Да ни в чем, проект на реквестах написан. Перепишу на aiohttp
Kop
Идея в том, как максимально быстро сделать
Kop
1000 запросов
Kop
И получив ответы, сохранить результат
Sergey
Да ни в чем, проект на реквестах написан. Перепишу на aiohttp
А там помимо реквеста есть наверное ещё парсинг? Или просто что-то сохраняется?
Kop
🍁 Jaŭhien
Зачем максимально быстро?
Kop
Обычным response.text и регулярочкой нужный кусок цепляем
Kop
Зачем максимально быстро?
Зачем ждать час, когда можно 15-20 минут ?)
🍁 Jaŭhien
Зачем ждать час, когда можно 15-20 минут ?)
15-20 минут - это не максимально быстро
Sergey
Зачем ждать час, когда можно 15-20 минут ?)
Скрипт только это делает или ещё что-то?
Kop
15-20 минут - это не максимально быстро
Быстрее сервер забанит :(