Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
👽The Pascagoula UFO Encounter
Interview and Documentary
The Pascagoula Abduction was an alleged UFO sighting and alien abduction in 1973, in which Charles Hickson and Calvin Parker claimed they were abducted by aliens while fishing near Pascagoula, Mississippi.
#aliens
AETATESOLIS
🪐 In 2023, scientists used the James Webb Space Telescope to study the atmosphere of the exoplanet K2-18b, located about 120 light-years away in the constellation Leo, and detected molecules like methane and carbon dioxide in its thick atmosphere. While this doesn't prove the existence of aliens, these chemicals are considered potential signs that could support life as we know it, making K2-18b one of the most intriguing worlds in the ongoing search for extraterrestrial life. ✨
#aliens⚡#exoplanets⚡#astronomy⚡#nasa⚡#galaxy⚡#stars⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
🪐 In 2015, scientists discovered a mysterious star called KIC 8462852, also known as "Tabby's Star," located about 1,470 light-years from Earth. This star shows unusually irregular and dramatic dimming events, with its brightness sometimes dropping by more than 20%, sparking curiosity because no natural explanation fully accounts for the strange pattern—though telescopes have found no evidence that the cause is artificial or linked to aliens. ✨
#aliens⚡#mysteries⚡#stars⚡#nasa⚡#galaxy⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
Project Bluebeam
Final Stage👽
DON'T TAKE THE BAIT
THEY WILL ENGINEER
THE RAPTURE AS AN ALIEN
ABDUCTION
#ufo#uap#aliens#disclosure#trump
https://t.me/TheSecretArchivesQ
🪐 In 2020, researchers using the LOFAR radio telescope detected strange bursts of low-frequency radio waves coming from the red dwarf star GJ 1151, about 26 light-years from Earth. These signals are thought to be created by interactions between the star and an orbiting planet, and while not proof of aliens, such emissions spark excitement because similar interactions could reveal planets that might host life. ✨
#aliens⚡#exoplanets⚡#radio⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries