Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🚀 Crypto Whale Adjusts Stop-Loss to Secure Profits
On April 12, a prominent crypto trader known as 'Set 10 Big Goals' (@Jason60704294) announced adjustments to their stop-loss positions to prevent targeted liquidation. According to BlockBeats, the trader has already secured profits from their current short positions.
Previously, it was reported that the trader held a short position of 2,567.49 BTC with an entry price of $71,554.61, and a short position of 38,465.22 ETH with an entry price of $2,248.74.
#Crypto#Bitcoin#Ethereum#Trading#StopLoss#ProfitTaking#CryptoWhale#BTC#ETH
Bitcoin Caps and Central Banks
🌍 *Salvador Nasralla*, Honduras' leading presidential candidate, recently wore a Bitcoin cap in an interview.
💬 *Michael Saylor* claims Bitcoin at $100,000 is still a 90% discount.
📉 In a dramatic case on Chinese Twitter, a recent fight between a BTC whale and founder of Solv Protocol led to the creation of the *ZachAI* ($ZAI) token, with the whale dumping on followers post-launch.
🇨🇿 Czech Central Bank is considering BTC as a reserve asset.
🔥 50 million USDC burned at USDC Treasury.
🏗️ President-elect Trump announces $20 billion investment in new data centers in the U.S.
#Bitcoin#BTC#Crypto#USDC#Solv#AI#ZAI#CzechRepublic#Honduras#Investment#Trump#DataCenters#Curve#Treasury#Ethereum#Blockchain#CryptoWhale#Fantom#Sonic
#партнерскийпост
⚡️28 Вт и 29 Ср октября 2025 — юбилейный 15-й Blockchain Life 2025 в Дубае – ТОП причин быть:
1️⃣ 15 000+ участников, мощный нетворкинг с инсайтами, которые не найти в Telegram
2️⃣ Буллран и альтсезон уже близко — ты узнаешь что сделать, чтобы заработать максимум
3️⃣ О трендах, которые станут мейнстримом через полгода, расскажут главные фигуры крипты с синхронным переводом на русский язык
4️⃣Самый большой форум в истории – 3 сцены, международный нетворкинг и огромная уличная зона с активностями
5️⃣ легендарная AfterParty: пока непонятно, кого привезут выступать в этот раз, но среди артистов уже были Тимати, Алан Уолкер и Френч Монтана; мб Канье Уэст?
6️⃣ Не просто форум — целая Blockchain Life Week: яхты, митапы, вечеринки, нетворкинг
🎟 10% OFF для участников ⚡️@iGlobalChat по промокоду iGlobalBlockchain25 на официальном сайте blockchain-life.com
#BlockchainLife2025#Dubai#Crypto#Web3#биткоин#альткоины#крипто#блокчейн#Bullrun2025#Altseason#CryptoGems#CryptoAlpha#CryptoWhale#AlphaLeak#инсайды