Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
У нас есть сейчас абсолютно уникальное предложение на TANK 500 Техно Премиум (Hi-Charge) - несколько машин, участвовавших в мероприятиях Парада Победы.
Гибриды с разумным расходом топлива, большие и очень комфортные. Динамика выше среднего. Вентиляция, подогрев и массаж сидений. Все ассистенты, удержание в полосе, адаптивный круиз - реально работает и очень удобно.
Основательные машины с минимальным пробегом в 100+ км. На гарантии с 30.04.2026, на учете не стояли.
Цена - 6,99 млн руб
Менеджер Кирилл @KirStar96
#tank
Админ постоянно рассказывает, какая классная машина TANK 500. Это его частное мнение. Но вот коллеги сняли прекрасный фильм, интересный сразу по двум причинам.
Во-первых там рассказывают как Major проверяет состояние машин с пробегом, которые потом продает.
Во-вторых в фильме проверяют TANK 500 с пробегом 147 тыс км. Это немало, все что могло сгнить, потечь и заржаветь уже бы сгнило потекло и заржавело.
Смотрим на YouTube
в ВКонтакте
и на Rutube
#tank
Супер предложение. Лютый эксклюзив.
TANK, новые машины, участвовали в качестве корпоративного транспорта на московских и питерских форумах. Мизерный пробег. Выпуск 2024 г.
TANK 300 Premium — 3,59 млн руб
TANK 500 — 6,29 млн руб
WEY 80 (супер минивэн) — 4,89 млн руб
Подробности +7 (495) 089-05-39
#tank
Вы спрашиваете, что происходит с китайскими авто на вторичке?
Их продажи растут, и это не "от них избавляются", а "они приобретают ликвидность". Если бы избавлялись, то никто бы их не покупал.
За 8 месяцев на вторичке купили 192 тыс. китайских авто, (в прошлом году за 8 мес — 140 тыс.) Доля китайцев на рынке пробега скакнула с 3,4% до 4,7%.
Больше всего растут продажи TANK — к прошлому году на 174%. Бренд в России с 2023, продают первые машины, на которых основательно поездили.
Мы продаем TANK с пробегом тоже. Смотрите тут.
#tank
🇷🇺⚙️⚙️🔩 Контейнеровоз
Где-то на "новых территориях" замечены российские танки с наваренным металлом из грузовых контейнеров.
А что... Дёшево и Сердито!
Молодцы парни 🤝
🔗 Источник
#tank#armor
🇷🇺⚙️⚙️🔩 Танчик Н-н-надо!? 😎
В общем и целом до конца этих суток ещё есть время принять участие в лотерее и помочь проекту #Контакт_1 с денюшкой ну и получить прикольный мерч если его можно так назвать.
Модель Танка
Чехол под банку
#tank#news#Контакт_1
Tank 300 в России обновился и подорожал
Китайская марка #Tank назвала цены на модернизированную версию внедорожника 300 в РФ. Обе модификации модели вне зависимости от типа привода получат доработанный интерьер и новые опции, а вариант с муфтой — ещё и изменённую внешность. Набор комплектаций сохранится прежним, но их стоимость увеличится на 100 тысяч рублей: с началом продаж, которое запланировано на конец ноября, стоимость Tank 300 составит от 4 300 000 до 5 050 000 рублей.
В оснащение Tank 300 войдут приборная панель с дизайном в виде классических круглых циферблатов, 50-ваттная беспроводная зарядка и двойное шумоизоляционное остекление в передней части. Рулевое колесо получит утолщённый обод, а в гамме вариантов отделки салона появится красно-чёрное решение (ранее интерьер мог быть только чёрным).
Модификации с разными типами привода теперь будут отличаться внешне, хотя ранее выглядели совершенно одинаково. Считающийся более городской моделью Tank 300 с многодисковой муфтой обзаведётся окрашенными в цвет кузова расширителями арок, корпусами зеркал и дверными ручками. Кроме того, для такого внедорожника подготовили 18-дюймовые колёсные диски нового дизайна.
Изменений по технической части нет. Tank 300 по-прежнему будут комплектовать двухлитровой «четвёркой» на 220 л.с. и 380 Нм в сочетании с восьмидиапазонным «автоматом». С этим же силовым агрегатом Tank 300 сертифицирован для сборки на калининградском «Автоторе». Об этом стало известно в конце октября, но о начале массового производства предприятие пока не сообщало.
Источник: auto.ru/mag/article/tank-300-v-rossii-obnovilsya-i-podorozhal-na-100-tysyach-rubley/
#RCINews#GreatWall#GWM
🇺🇲The US Army is about to spend $17 billion on the M10 Booker combat vehicle, which has serious flaws
On April 18, the US Army received the first M10 "tank" prototype at the Aberdeen Proving Ground. This experimental vehicle is manufactured by General Dynamics Land Systems. Over the next two years, military tests will be conducted to verify the performance of the vehicle in desert and arctic conditions.
The 82nd Airborne Division will participate in testing, and one of its companies will receive the M10 this summer. The Army plans to equip four battalions with the new vehicle by 2030 and complete most of the purchases by 2035, with the program's total lifecycle cost of $17 billion across a 30-year lifespan.
Despite the fact that the M10 Booker is called a light tank, the vehicle can not be considered a tank. The M10 was developed based on the platform of the Austrian-Spanish ASCOD infantry fighting vehicle. It has a 105 mm M35 tank gun mounted on an IFV chassis. Its armor can withstand a 30 mm rounds, but it is not able to withstand anti-tank weapon effects, large fragments from high-explosive artillery shells, or fire from tank guns. The M10 is just a light combat vehicle with high-caliber weapons like the French AMX-10RC.
There is a big question about whether the US Army really needs such combat vehicles. The AMX-10RC combat vehicle, which is similar to the M10 Booker and was deployed in combat operations in Ukraine, has proven to be ineffective due to its large size and poor armor. It became an easy and desirable target for Russian artillery fire. Fragments of 152mm artillery shells easily pierced through its armor, and Ukrainian crews refused to fight on these vehicles because the death rate was one of the highest among tank crews.
The M10 Booker combat vehicle program seems to be another multi-billion dollar laundering scheme by the Pentagon and military-industrial complex.
#Army#tank#test#corruption
Share and subscribe to Global American Review