Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Новый ZALA Т-20
Беспилотная авиационная система ZALA Т-20 прошла комплексную модернизацию, в ходе которой реализован ряд конструктивных и технологических улучшений, направленных на повышение летно-технических характеристик и расширение ее эксплуатационных возможностей.
Ключевым изменением стала оптимизация конструкции фюзеляжа, что позволило снизить аэродинамическое сопротивление и повысить общую эффективность полета. Установка аккумуляторных батарей нового поколения обладающих увеличенной удельной энергоемкостью и устойчивостью к экстремальным условиям эксплуатации позволила обеспечить рост продолжительности и дальности полета, которые теперь превышают 7 часов и 500 км за один полет.
Новые модули связи и навигации обеспечили стабильную работу, а также устойчивую и защищенную передачу данных на большие расстояния, даже в условиях сложной помеховой обстановки и отсутствия спутниковой связи.
Модернизированная БАС получила специализированный новый бортовой вычислитель и усовершенствованное программное обеспечение на базе алгоритмов искусственного интеллекта.
БВС ZALA T-20 работает с полным перечнем целевых нагрузок БВС ZALA T-16 и запускается с той же пневматической пусковой установки.
Это позволяет использовать единый комплект оборудования для различных платформ, упрощая логистику, техническое обслуживание и подготовку операторов, а также дооснащать действующие комплексы новым типом БВС T-20.
Модернизация ZALA Т-20 повысила его летные и эксплуатационные характеристики и значительно расширила спектр решаемых задач в области воздушной разведки, мониторинга и ситуационного анализа в сложных и удаленных районах.
#ZALA#Т20#ТЭК
Обновленные БВС ZALA для авиамониторинга на HeliRussia 2025
На международной выставке вертолетной индустрии HeliRussia 2025 в Москве компания ZALA представила обновленные версии своих БВС, предназначенных для воздушного мониторинга территорий. В рамках мероприятия специалисты ZALA также приняли участие в круглом столе, посвящённом интеграции риск-ориентированного подхода к регулированию разработки и эксплуатации беспилотных авиационных систем. В ходе обсуждения представители компании поделились практическим опытом в решении актуальных вопросов, связанных с внедрением современных технологий и стандартов в области беспилотной авиации.
В этом году организаторы HeliRussia сделали особый акцент на развитии беспилотной авиации гражданского назначения. На стенде компании представлены модели ZALA T-16 и ZALA T-20, которые находят активное применение в воздушном мониторинге и разведке территорий. Эти беспилотные системы оснащены HD камерами и тепловизорами, что позволяет наземным службам детально анализировать объекты и оперативно выявлять технологические отклонения или инциденты. Возможности наблюдения в темное время суток и в условиях плохой видимости делают их особенно ценными для различных сфер деятельности.
Ключевым отличием последних моделей БВС ZALA стало обновление бортового вычислителя и программного обеспечения на базе искусственного интеллекта, которые значительно повысили точность обнаружения отклонений и скорость обработки данных. Это особенно важно для быстрого реагирования на внештатные ситуации.
Модель ZALA Т-20, являющаяся одной из самых крупных в линейке компании, благодаря обновленной технической части теперь может находиться в воздухе более 7 часов и передавать HD-видео на расстоянии свыше 100 км. Повышенная грузоподъемность открывает возможности для установки различных датчиков и камер, что позволяет выполнять задачи наблюдения и проводить длительные исследования территорий.
БВС ZALA T-16 и ZALA T-20 зарекомендовали себя как надежные инструменты для обеспечения безопасности и наблюдения во многих сферах. Эффективность в сложных погодных условиях делает их востребованными для мониторинга линейных объектов и инфраструктуры ТЭК по всей России, включая Крайний Север и Сибирь. Кроме того, беспилотные технологии ZALA активно помогают в решении служебных задач специалистам МЧС и силовых структур.
#ZALA#T16#Т20#ТЭК