Tishka17
А у with есть преимущества перед try: ... finally: file.close() ?
А with работает не только с файлами
Alex
Sayid
Я имею в виду при использовании для файлов
Tishka17
Codephoto.ru же
Alex
?
Tishka17
Я имею в виду при использовании для файлов
Тогда меньше кода просто, а ещё можно несколько файлов
Alex
В переменную content не попадает содержимое
Alex
Unclosed client session
Kop
Codephoto.ru же
Оу, не знал что это твоё, отпускаю реверанс
Alex
Client _session: ...
Kop
Ты как накидывал текст на картинку ?
Alex
Что не так ?
Kop
Магия! :))
Нейронки бывали там ?))
Tishka17
А зачем тебе run_until_complete внутри go_http, когда можно await?
Kop
Вообще нет
Текст хорошо накладывается
Alex
Как через эвейт написать?
Tishka17
Ну местами кривенько из-за сферической аберрации
Tishka17
Как через эвейт написать?
Почитай доку по asyncio уже. Там полно примеров
Tishka17
И про await в том числе
Alex
Читал много да не понятно
Tishka17
Ну тогда попробуй тупо посмотреть как в примере await юзают
Alex
Было бы написано по людски то и вопросов небыло бы
Way
И про await в том числе
Нигде еще не видел, чтобы нормально описали await
Kop
Так изначально концепцию понять, что для чего
Tishka17
Было бы написано по людски то и вопросов небыло бы
Короче, эвейт ждёт пока корутина выполнится и возвращает результат выполнения. Во время этого могут работать другие корутины
Kop
И все будет ок
Alex
Я уже пожалел что не на с++ начал
Way
await выстраивает блок задач пулу потоков...
Kop
await не ждет.
Он задержку организовываете и ожидает выполнение задачи, там у тебя формируется очередь и как только задача выполнилась он топает дальше
Tishka17
await не ждет.
А текущая корутина не блокируется хочешь сказать?
Tishka17
Я уже пожалел что не на с++ начал
В 20е плюсы корутины же завезли
Alex
Корутины резьбы ну такой шлак :(
Way
А текущая корутина не блокируется хочешь сказать?
При инициализации программы выстраивается блок, если я не ошибаюсь
Alex
Нити
Way
await не блокирует, а лишь показывает, когда можно осовободить поток
Tishka17
Поток?
Way
Поток?
Конечно
Tishka17
Корутины? Поток?
Tishka17
Мы точно об одном?
Way
asyncio работает с уже существующим пулом потоков
Kop
Направьте лучше в правильную сторону, нужно чекать сайт по параметрам, максимально часто. Раньше, когда уникальных адресов было 10-100 все было круто и потоков для каждого с очередями хватало, но когда их стало 1000 все стало плохо, как фиксить?
Alex
Alex
Брал отсюда
Way
и просто передает блок задач и с метками в местах, где можно передавать блок другому потоку
Way
типо того
Alex
И нихера не работает даже сам пример
Way
Могу конечно же ошибаться*
Alex
Сам пример даже неработает
Alex
Ну вот как такое умное можно писать ?
Alex
Нервов нахватает
Way
мы по сути говорим пулу потоков ... await ... то что справа выполни, остальное передай дальше
Sergey
https://ebanoe.it/2019/03/13/dark-side-of-it/ Отчасти офтоп. Подозреваю что почитывая статью на разных этапах своей карьеры восприятие будет сильно разным.
Ihor 🐈
так так так, пост на ебаном...
Sergey
А да... забыл предупредить. Много букв
Sergey
так так так, пост на ебаном...
Это перепост с хабра. Ссылка на оригинал есть.
Anonymous
Добрый день! Есть задача сделать работу с использованием mysql и python. Для взаимодействия с бд использую компоненты из pyqt. Сейчас пытаюсь сделать тему про локальное кэширование на стороне клиента. В Delphi было свойство cachedupdates для компонента TMemDataSet. Нужно снизить нагрузку на сервер, используя некий буффер для dataset. Здесь есть подробное обьяснение про это: https://www.devart.com/unidac/docs/devart.dac.tmemdataset.cachedupdates.htm Как реализовать подобное?
Tishka17
Вот вам минимальный пример. Функция y ждёт завершения x и потом выводит результат выподнения
Tishka17
В результате на экран появляется 1 и через 5 секунд 2
Tishka17
Вон же await
Anonymous
Ты уже приходил. Про алхимию почитал?
Да, но пока не получается реализовать. Опыта мало
Alex
Так и у меня эвейт использован
Tishka17
Да, но пока не получается реализовать. Опыта мало
Идея короче такая, я прав? Ты делаешь операции с объектами, они меняются, но никуда это не пишется. А потом ты делаешь apply и всё пишется в бд
Anonymous
Привет
Svyatoslav
Tishka17
Так и у меня эвейт использован
Ты функцию фетч ты не эвейтишь
Tishka17
Да, так и есть. Суть в том, чтобы сделать всё в одну транзакцию и уменьшить нагрузку
Нет. Суть не "в одну транзакцию", а в том, чтобы эту транзакцию по времени не растягивать и повторные изменения не кидать в базу
Tishka17
Читаем закреп или идём в бан
Svyatoslav
Читаем закреп или идём в бан
Сразу в бан. Это бот
Svyatoslav
Сразу в бан. Это бот
Желательно репорт в догонку оформить
Tishka17
Да, так и есть. Суть в том, чтобы сделать всё в одну транзакцию и уменьшить нагрузку
Вижу два варианта: 1. Объекты запоминают что с ними делали и умеют объединять похожие изменения 2. Объекты запоминают старое состояние (которое прочитали из базы) и сравнивают текущее с ним