Как обрабатывать несколько ошибок из параллельных задач, не теряя стеков и не «глуша» отмену?
Запускайте задачи в TaskGroup, ловите ExceptionGroup и разбирайте через except* по типам; отмену не подавляйте — дайте CancelledError всплыть. Логи ведите по вложенным исключениям, повторные ретраи — точечно по соответствующим подгруппам.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
Как FastAPI обрабатывает зависимости с Depends, и как происходит их разрешение в контексте асинхронных и синхронных функций?
FastAPI строит граф зависимостей рекурсивно при старте приложения. При обработке запроса оно вызывает зависимости в порядке topological sort. Асинхронные зависимости вызываются с await, синхронные — через обычный вызов. FastAPI автоматически определяет тип зависимости по сигнатуре. Повторно используемые зависимости кэшируются внутри одного запроса. Исключения в зависимостях прерывают цепочку и оборачиваются в HTTP-ответ.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека собеса по Python
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека собеса по Python
👍1
В высоконагруженном Python-сервисе вы замечаете, что при увеличении числа потоков скорость обработки CPU-bound задач не растёт. Почему так происходит и как это исправить?
Из-за GIL только один поток выполняет байткод одновременно, поэтому многопоточность не ускоряет CPU-bound задачи. Решение — использовать multiprocessing, вынести тяжёлые вычисления в C-расширения или применять библиотеки вроде NumPy, которые обходят GIL.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека собеса по Python
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека собеса по Python
👍1
Как добиться «ровно-одной» обработки задач в Celery при сбоях и повторных доставках?
Короткий ответ: Делайте обработчик идемпотентным: храните task_id/бизнес-ключ в таблице dedup и коммитьте эффект и запись об обработке в одной транзакции. Включайте acks_late+visibility_timeout, экспоненциальный бэкофф с джиттером, лимит ретраев и DLQ; долгие операции — с чекпойнтами/сагами.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
👍2
Как правильно упаковать и публиковать библиотеку без
Декларируйте всё в pyproject.toml (PEP 517/518), собирайте sdist и wheel через python -m build, публикуйте через twine или Trusted Publishing (OIDC → PyPI). Пингуйте зависимости, включайте LICENSE/README, тестируйте локально pip install dist/*.whl.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
setup.py?🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
🤩4
🔬 Вы когда-нибудь смотрели на код и думали: «Работает, но почему?»
А теперь представьте, что вы:
→ понимаете, почему модель учится слишком медленно или слишком быстро;
→ видите, какие данные реально влияют на предсказание, а какие — шум;
→ знаете, что происходит внутри нейронки.
4 декабря стартует курс «Математика для разработки AI-моделей».
Линал, оптимизация, матан, статистика — всё, что происходит внутри модели между input и output. Практика на Python. Живые разборы с экспертами из SberAI, ВШЭ, Wildberries&Russ.
3 задания + финальный проект. Без теории ради теории — только то, что реально используется в моделях.
🎁 Бонус: курс по школьной математике + тест уровня математики
👉 Записаться
А теперь представьте, что вы:
→ понимаете, почему модель учится слишком медленно или слишком быстро;
→ видите, какие данные реально влияют на предсказание, а какие — шум;
→ знаете, что происходит внутри нейронки.
4 декабря стартует курс «Математика для разработки AI-моделей».
Линал, оптимизация, матан, статистика — всё, что происходит внутри модели между input и output. Практика на Python. Живые разборы с экспертами из SberAI, ВШЭ, Wildberries&Russ.
3 задания + финальный проект. Без теории ради теории — только то, что реально используется в моделях.
🎁 Бонус: курс по школьной математике + тест уровня математики
👉 Записаться
Вы запускаете высоконагруженный Python-сервис на asyncio. Со временем отклик начинает расти, хотя CPU и память загружены слабо. В чём может быть причина и как подойти к решению?
Обычно это значит, что внутри event loop выполняется блокирующий код (синхронные запросы к БД, тяжёлые вычисления, блокирующие I/O). Их нужно вынести в отдельные процессы/пулы потоков (ProcessPoolExecutor, ThreadPoolExecutor) или заменить на асинхронные аналоги библиотек.
Библиотека собеса по Python
Библиотека собеса по Python
👍4
Как реализовано управление памятью во Flask?
В Flask распределение памяти управляется модулем управления памятью Flask Python. Кроме того, в Flask есть встроенный сборщик мусора, который перерабатывает всю неиспользуемую память, освобождая место в куче. Ответственность за отслеживание всего этого лежит на интерпретаторе Python. Однако пользователи могут использовать основной API для доступа к некоторым инструментам.
Библиотека собеса по Python
Библиотека собеса по Python
🥱3
Python-разработчик != ML-инженер
Разница — в знании математики. Если
Что прокачаем за ближайшие дни:
— Линейная алгебра: операции с матрицами, решение СЛАУ, линейные преобразования.
— Прогностические модели: строим линейную регрессию, разбираем МНК.
— Матричные разложения: SVD и собственные векторы для рекомендательных систем.
Все примеры — на Python. Вы научитесь применять математику для решения реальных бизнес-задач, а не просто решать уравнения на бумажке.
Поток закрывается 9 декабря.
https://clc.to/LojFzw
Разница — в знании математики. Если
import numpy as np для вас потолок, пора углубляться. Мы запустили живые вебинары по математике для AI.Что прокачаем за ближайшие дни:
— Линейная алгебра: операции с матрицами, решение СЛАУ, линейные преобразования.
— Прогностические модели: строим линейную регрессию, разбираем МНК.
— Матричные разложения: SVD и собственные векторы для рекомендательных систем.
Все примеры — на Python. Вы научитесь применять математику для решения реальных бизнес-задач, а не просто решать уравнения на бумажке.
Поток закрывается 9 декабря.
https://clc.to/LojFzw
❤1
Как безопасно распараллелить CPU-работу с multiprocessing на разных ОС и без лишних копий?
На Linux избегайте fork с активным asyncio/TLS — используйте spawn/forkserver; на Windows только spawn. Передавайте крупные данные через multiprocessing.shared_memory/Array/Queue батчами, а не гигантскими pickles. Инициализацию делайте в if __name__ == "__main__":, задайте maxtasksperchild, корректно ловите SIGTERM и дренируйте очереди перед join().
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
❤2
Как в Python работает метод __call__() и когда его имеет смысл использовать?
Метод call() предоставляет возможность сделать объект вызываемым, что позволяет использовать его как функцию. Этот метод можно внедрить в любой класс, чтобы экземпляр этого класса можно было вызывать напрямую. Это особенно удобно, когда класс решает одну основную задачу и может выступать в роли функции, при этом сохраняя свое внутреннее состояние и структуру.
Библиотека собеса по Python
Библиотека собеса по Python
❤1