@The2ndDim · Post #1688 · 26.04.2022 г., 06:44
#转发#WantThis#UnihertzTitanSlim https://youtu.be/eqqbiBpBZ6k // 省流: Titan Pocket, but in BB Key2 style.
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
Пребарај: #unihertztitanslim
@The2ndDim · Post #1688 · 26.04.2022 г., 06:44
#转发#WantThis#UnihertzTitanSlim https://youtu.be/eqqbiBpBZ6k // 省流: Titan Pocket, but in BB Key2 style.
Hashtags
@The2ndDim · Post #1687 · 15.04.2022 г., 14:14
#转发#WantThis#UnihertzTitanSlim https://youtu.be/_5bbXePEbAs // 官宣了 // Shut up and take my money! (x)
Hashtags
@The2ndDim · Post #1686 · 15.04.2022 г., 08:15
#转发#WantThis#UnihertzTitanSlim https://twitter.com/Unihertz/status/1514574444173438978
Hashtags
@The2ndDim · Post #1683 · 11.04.2022 г., 16:21
#转发#WantThis#UnihertzTitanSlim 为啥知道这机器叫Titan Slim呢? 因为在日本那边的技术认证暴露了一切... https://www.tele.soumu.go.jp/giteki/SearchServlet?pageID=jk01&NUM=&NAM=&FOM=Titan+Slim&PC=&YAR_FROM=&MON_FROM=&DAY_FROM=&YAR_TO=&MON_TO=&DAY_TO=&RAD=00-00-00-00&TEC=1&TEC=2&TEC=3&TEC=4&TEC=5&TEC=6&TEC=7&SK=0&DC=0&SC=1&as_fid=17de57877f1651f7a960d1e9a08b21ead64c9d95#searchlist
Hashtags
@The2ndDim · Post #1682 · 11.04.2022 г., 16:19
#转发#WantThis#UnihertzTitanSlim https://youtu.be/MWPIYFMY13I 下一代Unihertz Titan要发布了。
Hashtags
@The2ndDim · Post #1692 · 11.05.2022 г., 08:00
#转发#NeverMind#UnihertzTitanSlim https://www.kickstarter.com/projects/jellyphone/titan-slim-the-new-sleek-and-slim-qwerty-android-smartphone/description 最终我还是选择不考虑Titan Slim。 虽然键盘进一步进化,内部存储容量翻倍,摄像头也不是祖传16MP,但砍掉耳机孔,砍掉SD卡扩展,这么大机身也不做无线充电这件事对我来说是不可接受的。 更何况SoC和Titan Pocket是完全一样的联发科P70,电池也就比Pocket多了可有可无的100mAh。这么大机身这么不“slim”的厚度,为啥就不能塞下无线充电或者更大的电池? 而且这次也不是主打高防护性,直接变玻璃后盖了,这摔一下肯定很完蛋,不套壳不能用的程度。 这一次,我跳车了。希望下次能有更合理的产品。
Hashtags