Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
News: Political parties unveil symbols, slogans ahead of #Ethiopia’s 7th general election
Political parties have begun unveiling the symbols and slogans they will use for Ethiopia’s 7th national general #election, scheduled by the National Election Board of Ethiopia (#NEBE) for 1 June 2026, with the ruling #Prosperity Party and the Coalition for Ethiopian Unity among the first to present their campaign identities.
The Prosperity Party announced on 10 February 2026 that it will contest the election under a “sheaf of wheat” symbol accompanied by the slogan “Ethiopia to an exemplary nation!” The party introduced the symbol and slogan during a forum where it also presented its election manifesto prepared under the same theme.
Meanwhile, the Coalition for Ethiopian Unity told Addis Standard a “thumb” symbol will be used for the upcoming election.
The coalition said the symbol was.....
https://web.facebook.com/AddisstandardEng/posts/pfbid0UYNHQHU76VgAhRkQkY6HQrKEJT6RqgasEEjXKSqRgSdBPNy85ygiq9wGpCJ6nfvol
Saylor's 21 Bitcoin Principles Revealed
Michael Saylor shares key insights on Bitcoin ownership:
1. Experts buy Bitcoin.
2. Critics don’t understand it.
3. Opinions shift from negative to positive.
4. Learning about Bitcoin is endless.
5. Bitcoin thrives on chaos.
6. It’s a win-win game.
7. True ownership lies in Bitcoin.
8. You earn Bitcoin as per your worth.
9. Invest only what you can afford to lose.
10. Bitcoin is the ticket out of the matrix.
11. Understanding wants and needs drive comprehension.
12. Expect your models to break.
13. Bitcoin is the cure for economic woes.
14. Choose Bitcoin over fiat.
15. Bitcoin is for everyone.
16. Think in Bitcoin terms.
17. Bitcoin will change you.
18. Stay vigilant against lies.
19. Respect Bitcoin or be a fool.
20. Never sell your Bitcoin.
21. Spread the love for Bitcoin.
#Bitcoin#Saylor#Crypto#Investment#Finance#Ownership#Learning#Economics#Innovation#DigitalAssets#MarketTrends#Blockchain#Wisdom#Prosperity#Opinions#Integrity#Wealth#Future#Leadership#Value
[UZ] #EUROUZ jamoasi sizlarni #O'zbekiston Respulikasi #Konstitutsiyasi qabul qilinganligi #kuni bilan tabriklaydi! Tariximizdagi ushbu muhim sanani nishonlar ekanmiz, #Vatanimizga#farovonlik, #birdamlik, #taraqqiyot#bardoshlik tilab qolamiz!
-
[EN] #EUROUZ team extends congratulations on the occasion of #Constitution#Day of #Uzbekistan! Wishing #prosperity, #unity, and continued #progress to our #motherland as we celebrate this significant day in our history.
-
[RU] Команда #EUROUZ поздравляет соотечественников с Днём #Конституции Республики Узбекистан! Желаем процветания, единства и продолжения прогресса нашей #Родине в этот значимый день.
Follow #EUROUZ on Telegram: @eurouz_official