Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#softSkills#raspberryPi
😎
Raspberry Pi for Beginners
Description
The course will start with setting up your Raspberry Pi and installing Raspberry Pi OS without an external monitor and keyboard, followed by getting along with the basics of Python3 programming. You will then work with the Raspberry Pi’s GPIO panel, use a PIR sensor to detect movement from your Pi, and discover how to use a Unix terminal and the most useful command-line tools. You will also send an email from your Raspberry Pi, take photos and videos using the Raspberry Pi camera V2, and create a web server on your Raspberry Pi with the Flask framework. Finally, you will build a complete surveillance and alarm project with Raspberry Pi.
Author(s): Edouard Renard
Language: English
Updated: September 2022
Videos Duration: 10h 8m
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
Пейджер для Telegram без сотовой связи из России! 📡
Инженер создал девайс на Raspberry Pi с mesh-сетями:
Домашний модуль — сервер
Переносной — для чтения каналов
✅ Работает при блокировках
✅ Только текст (без фото/видео пока)
✅ Цена ~3000 рублей (452000сум)
Лучше гаджета для свободы информации не придумаешь! 😎
#TelegramPager#MeshСети#RaspberryPi#Технологии#Россия
Коллеги, друзья и все, кто следит за рождением Адама и Евы! Вчера случилось то, ради чего всё затевалось: я провёл первые полевые испытания зрения Адама в реальном мире, и он в режиме реального времени не просто видел объекты, а описывал их вслух голосом, как настоящий помощник.
Вот как это работает сейчас на железе робота:
1. Глаз: Камера на Raspberry Pi захватывает изображение.
2. Зрение (YOLOv11n, 5 МБ): Сверхлёгкая модель детектирует объекты примерно за 1 сек / кадр.
3. Осмысление (YandexGPT): Получившийся список объектов передается в YandexGPT, который формирует лаконичное и понятное описание сцены.
4. Голос (Yandex SpeechKit): Это описание не печатается в терминале, а сразу синтезируется в чистый, человеческий голос и звучит из динамика робота. 🔊
И это не симуляция — это работающий алгоритм на настоящем железе.
Что это значит на практике? Я говорил Адаму:«Посмотри вокруг», и через мгновение он отвечал голосом: «Я вижу человека в помещении, монитор, ноутбук и телефон на столе». Это был не заранее заготовленный ответ, а результат живого-анализа обстановки перед ним. Он буквально делился своими мыслями о том, что видит.
Почему это прорыв? Потому что мы перешли от сухих технических тестов к реальному взаимодействию. Робот теперь не бездушный детектор объектов, а сущность, которая способна воспринимать мир и коммуницировать на нашем языке — голосом.
Впереди бескрайнее поле для экспериментов с поведением и сценариями использования. Спасибо, что вы с нами на этом пути! Это невероятно вдохновляет.
#робототехника#ии#искуственныйинтеллект#yolo#raspberrypi#компьютерноезрение#адам#ева#YandexGPT#SpeechKit#голосовойИИ
🛰️✈️Импортозамещение на высоте: в России создают аналог Flightradar24
🇷🇺 Новый сервис «Авиарадар» — это отечественный ответ на Flightradar24.
С конца 2023 года система работает в бета-режиме, уже охватывая большую часть европейской части страны.
📆 В ближайшее время планируется полноценный коммерческий запуск.
📡 Основа — сеть приёмников, собирающих ADS-B сигналы с гражданских самолётов и передающих их на сервер.
💻 Приёмники можно собрать даже на Raspberry Pi или Orange Pi, а в будущем планируется установка оборудования на микроспутники для слежения за рейсами над океанами и труднодоступными регионами🌍
👨💻 Проект требует знаний в IT и электронике, а также немалых серверных мощностей.
💼 Основная цель — b2b-сегмент: авиакомпании, логистика, государственные структуры.
👥 Волонтёры, устанавливающие оборудование, получают расширенную аналитику и доступ к онлайн-карте.
💬 Разработчики ищут инвестора для масштабирования. Среди потенциальных партнёров — 2ГИС.
При поддержке «Авиарадар» может стать национальной платформой авианаблюдения, особенно важной в условиях текущей геополитики.
#Авиарадар#Flightradar24#импортозамещение#авиация#технологии#RaspberryPi#логистика#гражданскаяавиация#авиатрекер#ИТ#наблюдение#Россия#инновации#b2b#авиапром#слежение