Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Naming El Arte de la Creación de Nombres
#naming#diseño#Domestika
Descargar Curso
Parte1👉: https://www.up-4ever.net/6db1xyzwg4cx
Parte2👉: https://www.up-4ever.net/y1wg3uidcr5u
Parte3👉: https://www.up-4ever.net/2zwpscdgj6cv
🆕10(1)/2026
🔗Исторические изменения в выборе имени во Франции: выводы из анализа изменений в культуре
Юдзи Огихара
Опираясь на предшествующие исследования выбора имен и изменений в культуре, автор приводит шесть комментариев к статье Ж.-Ф. Миньо [2022], изучавшего исторические изменения в выборе имени для новорожденных во Франции. Его исследование опиралось на два набора данных об именах, и Миньо обнаружил, что с 1950-х по 2010-е годы количество оригинальных
имен увеличилось и что доля десяти самых популярных имен за этот период снизилась. Эти
два вывода были интерпретированы как отражение роста индивидуализации (индивидуализма). Однако в исследовании Миньо остаются непроясненными шесть моментов. Комментарии автора данной статьи к первому и второму моментам предлагают исключить возможные
альтернативные объяснения. Третий и четвертый комментарии рекомендуют использовать другие исследования, предоставившие ценные результаты, на основе которых можно было
бы расширить рамки исследования. Комментарии к пятому и шестому моментам обращены к Миньо с предложением уточнить используемые данные, добавив больше информации. Принятие во внимание этих комментариев будет способствовать лучшему пониманию исторических изменений в наречении новорожденных во Франции и лежащих в их основе психологических и культурных тенденций.
▫️Публикация в журнале осуществляется бесплатно благодаря поддержке «АКБ «Держава» ПАО» и Экономического факультета МГУ имени М.В.Ломоносова.
#population_and_economics#naming
#packaging#naming
Muzqaymoq ishlab chiqaruvchi fabrika uchun naming, logo va qadoq dizayn ishlab berdik!
Baho berish sizdan!
Dizaynga qiziqadiganlar bilan ulashing!
@portlofio
#From_Nature
#Victoria_Falls_or_Musa_Tunya
are waterfalls located on the Zambezi River, on the border between Zambia and Zimbabwe, in South-Central Africa. Its width is 1.7 km (or the equivalent of a mile), and its height is 128 m (420 ft).
#Naming
The falls were first visited by the Scottish explorer David Livingstone in November 1855, and were named after Queen Victoria of the United Kingdom, although the falls were previously known to the locals as Musa-Tonya, which means "smoke that shoots Thunder".