@ggdex_announcements · Post #88047 · 26.11.2023 г., 08:03
#币种监控MXC#币种监控#MXC --------------- API新增:TSY(TASAYI) --------------- 发布时间:2023-11-26 16:02:15
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #425 · 20 апр.
Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках. Выглядело это примерно так: 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
Hashtags
Пребарај: #mxc
@ggdex_announcements · Post #88047 · 26.11.2023 г., 08:03
#币种监控MXC#币种监控#MXC --------------- API新增:TSY(TASAYI) --------------- 发布时间:2023-11-26 16:02:15
@ggdex_announcements · Post #88042 · 26.11.2023 г., 07:03
#币种监控MXC#币种监控#MXC --------------- API新增:NCX(No Code X) --------------- 发布时间:2023-11-26 15:02:15
@ggdex_announcements · Post #87869 · 24.11.2023 г., 11:24
#币种监控MXC#币种监控#MXC --------------- API新增:ABEL(ABEL) --------------- 发布时间:2023-11-24 19:23:12
@ggdex_announcements · Post #87813 · 24.11.2023 г., 07:24
#币种监控MXC#币种监控#MXC --------------- API新增:MEO(MEO) --------------- 发布时间:2023-11-24 15:23:27
@ggdex_announcements · Post #87812 · 24.11.2023 г., 07:20
#币种监控MXC#币种监控#MXC --------------- API新增:ADDCLAS(Clash of adventure) --------------- 发布时间:2023-11-24 15:19:24
@ggdex_announcements · Post #87805 · 24.11.2023 г., 07:03
#币种监控MXC#币种监控#MXC --------------- API新增:SEXY(EthXY) --------------- 发布时间:2023-11-24 15:02:27
@ggdex_announcements · Post #87776 · 24.11.2023 г., 04:50
#币种监控MXC#币种监控#MXC --------------- API新增:ORDI2(ORDI 2.0) --------------- 发布时间:2023-11-24 12:49:21
@ggdex_announcements · Post #87769 · 24.11.2023 г., 04:06
#币种监控MXC#币种监控#MXC --------------- API新增:GAC(Genesis Asset Chain) --------------- 发布时间:2023-11-24 12:05:27
@ggdex_announcements · Post #87666 · 23.11.2023 г., 10:06
#币种监控MXC#币种监控#MXC --------------- API新增:BEEF(BEEF) --------------- 发布时间:2023-11-23 18:05:18
@ggdex_announcements · Post #87663 · 23.11.2023 г., 10:03
#币种监控MXC#币种监控#MXC --------------- API新增:NLINK(Neuralink) --------------- 发布时间:2023-11-23 18:02:09
@ggdex_announcements · Post #87654 · 23.11.2023 г., 09:39
#币种监控MXC#币种监控#MXC --------------- API新增:BIDZ(BIDZ Coin) --------------- 发布时间:2023-11-23 17:38:06
@ggdex_announcements · Post #87629 · 23.11.2023 г., 07:47
#币种监控MXC#币种监控#MXC --------------- API新增:COF(Espresso Ex) --------------- 发布时间:2023-11-23 15:46:12