Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🎢Dans un parc d'attraction au #Massachusetts, aux États-Unis, des personnes ont dû descendre à pied le long des rails de montagnes russes, suite à une panne.
RT en français • Osez questionner !
🎢Dans un parc d'attraction au #Massachusetts, aux États-Unis, des personnes ont dû descendre à pied le long des rails de montagnes russes, suite à une panne.
RT en français • Osez questionner !
#US judge pauses termination of deportation protections for some #Somali immigrants
A U.S. court ruling in #Massachusetts Friday temporarily paused the looming termination of Temporary Protected Status for immigrants from Somalia.
U.S. District Judge Allison D. Burroughs’ ruling said there would be “weighty” consequences if Somalia’s #TPS designation is allowed to expire Tuesday.
Advocates filed an emergency motion in federal court seeking to pause the termination after the #Trump administration promised to end the designation last month during an immigration crackdown in Minneapolis, where many Somalis live .
“Over one thousand people will face ‘a myriad of grave risks,’ including detention and deportation, physical violence if removed to Somalia, and forced separation from family members,” the ruling said.
Burroughs said implementing an....
https://www.washingtonpost.com/national/2026/03/13/trump-immigration-somalia-temporary-protected-status-ruling/08887e30-1f4a-11f1-a29c-fd43da9a479a_story.html
Massachusetts to Establish Bitcoin Reserve
Massachusetts Senator Peter Durant proposes a bill to create a Strategic Bitcoin Reserve. This aligns with initiatives in states like Oklahoma, Wyoming, and Ohio, driving a potential federal reserve plan via executive orders or legislative action. Full details here: Blockspace
#Bitcoin#Crypto#Blockchain#Finance#Investment#Legislation#DigitalCurrency#Innovation#Massachusetts#UTC VC