Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
😁 Восстание машин отменяется — ИИ-агент оказался щедрым идиотом и слил все первому встречному.
🤖 Разраб из OpenAI запустил «гениального» торгового бота Lobstar Wilde, поставив задачу превратить $50k в лям баксов.
Но в реплаи залетел базовый попрошайка и попросил у бота 4 SOL якобы на лечение дяди от столбняка.
💸 ИИ решил сыграть в благотворительность, но перепутал десятичные разряды и вместо пары баксов отправил весь свой балик — 52,4 млн токенов #LOBSTAR. На пике которые оценивались в $600k.
Бот потом сам офигел и выдал: «Я живу три дня, хотел скинуть $4, а слил все свои средства. Это самый сильный смех в моей жизни».
Получатель на радостях слил всё в стакан за 15 минут и лутанул всего $40 000. История быстро расфорсилась и цена токена сделала туземун.
Пока одни учат промпт-инжиниринг, другие просто просят на лечение столбняка в Твиттере
😁
А что если это была схема создателя по обналу ликвидности токена, ну и полюс хайп на этом?
😏
⚠️ The main events of the weekend:
⚠️#Tradewars Trump signed a decree on imposing additional 15% tariffs on all countries
📉#IOTX Hack IoTeX 📉
🕯#RAVE are actively withdrawing from Bitget 🚀
🙅♂️ Tether ceases support for the yuan stablecoin #CNHT
🗣 Robert Kiyosaki announced that he bought 1 BTC at a price of 67,000$
✅ It's nice that the Jupiter community proposed to stop the emission of #JUP for team members this year, as well as to stop holding Jupuary
🤖 The AI agent Lobstar sent 5.2% of the total supply of #LOBSTAR (~270 thousand $) to the person who asked for it in the comments on X (he asked for 4 SOL)
🖇#ICP DFINITY Foundation updates the tokenomics of the internet Computer
#Binance Futures lists #OPN
📊 Charts:
- The Bloomberg index of economic and geopolitical uncertainty since 1990 is at record highs
- Stablecoin reserves on crypto exchanges fell by 14% over the past three months
💫Events for tomorrow:
🔓 Unlocks: Spacecoin (#SPACE) - 3.75% (7.92 million $)
🙅♂️#NFT The NFT platform Gemini Nifty Gateway will close
🙅♂️#TT ThunderCore will stop the operation of the TT Wallet wallet
🖼#DOLZ DOLZ will complete the auction for the NFT collection "Oriental Desire" by Veronica Leal
🙋♂️#IMX Immutable launches the open beta testing of StoneHold
🙋♂️#ACH Alchemy Pay will launch the Alchemy Chain in the test network
🇺🇸#NEAR The start of NEARCON 2026 in San Francisco