Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
from fastapi.concurrency import run_in_threadpool
async def execute(data: DataRequest) -> DataResponse:
try:
result = await run_in_threadpool(sync_function, data)
return DataResponse(data=result)
except Exception as e:
return DataResponse(
error=str(e),
success=False,
)
В общем работает нормально. Для всех вызовов под капотом используется общий тредпул, всё работает предсказуемо.
Но потребовалось изменить количество запускаемых в пуле потоков (по умолчанию создается 40 воркеров).
Так как дело происходит с FastAPI, делается это через lifespan используя настройки anyio:
import anyio
@asynccontextmanager
async def lifespan(app: FastAPI):
limiter = anyio.to_thread.current_default_thread_limiter()
limiter.total_tokens = 100
yield
# если вдруг нужно вернуть обратно
limiter.total_tokens = 40
Зачем менять количество воркеров?
- уменьшить, если оперативки мало (один тред занимает ~8мб)
- увеличить чтобы выдержать нагрузку
Если есть предложения получше при тех же вводных - предлагайте😉
#async
MFS пополнился культовым бомбардировщиком Lancaster ✈️
Легендарный Avro Lancaster — символ британской авиации периода Второй мировой войны — стал доступен для полетов в MFS2020. Команда Aeroplane Heaven создала невероятно детализированную копию исторического самолета.
Модель впечатляет реалистичностью: точно воспроизведены кабины всех членов экипажа, работают подвижные турели, присутствуют 3D-фигуры семи авиаторов (можно настраивать их отображение).
Особое внимание уделили звуковому сопровождению — звук моторов Rolls-Royce Merlin XX записывался отдельно для максимальной аутентичности. В набор входят различные исторические ливреи, включая машину знаменитой 617-й эскадрильи «Разрушители плотин».
📌Дополнение стоит $34.99 и доступно на официальном сайте Aeroplane Heaven и в магазине Orbx Direct. В ближайшее время планируется расширение каналов продаж.
__
Интересуют ли вас подобные исторические самолеты в авиасимуляторах или по душе современные авиалайнеры?
Лёгкое небо
#aviation#Lancaster#mfs
Synaptic Simulations и iniBuilds поделились свежими деталями разработки Airbus A220 для Microsoft Flight Simulator 2020/2024. Команда сообщила о завершении важных этапов и рассказала о следующих шагах.
📌 Внешняя модель самолёта полностью готова: финализированы фюзеляж и все наружные элементы. Использование фотореалистичных текстур, оптимизированных уровней детализации (LOD) и точной геометрии позволило добиться высокого визуального качества без ущерба для производительности. Теперь проект полностью основан на собственных наработках, отказавшись от внешних компонентов.
✈️ В кабине завершаются финальные доработки — улучшается визуальная составляющая, продолжается развитие интерфейса электронного бортового планшета (EFB) и углубляется моделирование авионики. Особое внимание уделяется реалистичной работе дисплеев, сенсорных элементов и запуску систем. Также активно разрабатываются системы отказов, моделируется инерциальная навигация и реализуются взаимодействия по протоколам ARINC.
🔔 Выпуск A220-300 запланирован на этот год через платформу iniManager, что обеспечит удобную установку и обновления. Впоследствии бесплатно выйдут версии A220-100 и ACJ. Версия для Xbox находится в планах, но приоритет остаётся за ПК-релизом.
Изначально проект задумывался как бесплатный и с открытым кодом, но в 2024 году перешёл на коммерческую модель. Это решение связано с повышенными стандартами качества и необходимостью ускорения разработки. Партнёрство с iniBuilds призвано обеспечить более высокую степень проработки и стабильную реализацию проекта.
Лёгкое небо
#aviation#A220#mfs#mfs2024
Мы запускаем конкурс скриншотов 😲
Редакция канала понимает, что у многих нет фотоаппарата, а значит в конкурсе споттинга поучаствует меньше человек
В срок до 25 апреля включительно вы можете прислать до 3 скринов из любого авиасимулятора, за выходные мы отберем лучшие и запустим следующий тур 🚀
Во 2-ом туре скрины будут представлены в канале небольшими группами для голосования на лучший скриншот.
Победителю подарим ⭐️
2-му месту - пиар его канала
А теперь к правилам
1. Автором должны быть вы
2. Допускается вертикальный и горизонтальный формат фотографии
3. В случае обнаружения накрутки редакция вправе дисквалифицировать участника
4. Ваши скрины присылать админу в личку @ArtemPi1ot файлом, чтобы мы могли удостовериться в авторстве скрина
5. Если у участника есть канал, то для участия в конкурсе требуется сделать репост этого поста
Желаем удачи!
Лёгкое небо | Розыгрыш
#aviation#mfs#Xplain#fsx#конкурс