@Ptfxq · Post #392 · 19.11.2022 г., 01:32
#KEEPFRIENDS#站点活动 站点不知不觉已经陪伴大家度过了10个年头,12月之前回复本贴你和关于 本站 或者 PT 或者 电影 或者 任意主题 的 >= 140 字的故事,即可获得10周年勋章。
Hashtags
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
Пребарај: #keepfriends
@Ptfxq · Post #392 · 19.11.2022 г., 01:32
#KEEPFRIENDS#站点活动 站点不知不觉已经陪伴大家度过了10个年头,12月之前回复本贴你和关于 本站 或者 PT 或者 电影 或者 任意主题 的 >= 140 字的故事,即可获得10周年勋章。
Hashtags
@Ptfxq · Post #621 · 22.03.2024 г., 10:22
#KEEPFRIENDS#FRDS 朋友站点扩容,上限增加 250 人。 #开放邀请 ⚠️ 注意:请勿在本频道求任何 PT 站点的邀请! ⚠️ Attention: Do NOT request any tracker invites in this channel.
Hashtags
@Ptfxq · Post #611 · 18.03.2024 г., 00:59
#KEEPFRIENDS#FRDS#站点公告 (旧闻) 关于站点近期不稳定的说明 由于站点容量接近上限,站点运行可能有些不稳定,管理组正在研究调整站点架构,容量将在调整完毕后增加。 调整期间可能会触发站点/tracker无法使用的情况,可以耐心等待稍后再试。
Hashtags