Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🏦ESMA призывает использовать стейблкоины, подчиняющиеся MiCA
🔹 Европейское управление по надзору за рынком ценных бумаг (ESMA) призвало криптокомпании использовать только те стейблкоины, которые соответствуют законодательству о цифровых активах (MiCA).
🔹 Под закон подпадают как валюты с фиатным обеспечением, так и токены, привязанные к другим активам. Компании, работающие в еврозоне, должны отказаться от использования нерегулируемых стейблкоинов.
🔹ESMA подчеркнула, что к 31 марта 2025 года все нерегулируемые стейблкоины должны покинуть рынок ЕС.
🔹 Крупнейший стейблкоин USDT, эмитентом которого является Tether, пока не имеет лицензии на работу в еврозоне. Инвесторы должны конвертировать такие токены в регулируемые цифровые активы.
🔹 Количество лицензированных криптокомпаний в ЕС растет. Платформа Crypto.com недавно объявила о выходе на рынок, отметив, что MiCA обеспечивает прозрачность и защиту инвесторов.
#ESMA#MiCA#Стейблкоины
🚀 ECB Supports ESMA Oversight of Major Cross-Border Financial Firms
The European Central Bank (ECB) has expressed its support for a European Commission proposal to grant the Paris-based European Securities and Markets Authority (ESMA) direct oversight of significant cross-border financial firms, including large crypto asset service providers. According to NS3.AI, this move marks a shift from the current Markets in Crypto-Assets (MiCA) framework, where national regulators are responsible for supervising crypto asset service providers (CASPs), while ESMA primarily plays a coordinating role. Although the ECB's opinion is non-binding, the proposal will now proceed to negotiations among EU member states and the European Parliament.
#ECB#ESMA#EuropeanCommission#CrossBorderFinance#CryptoAssets#MiCA#FinancialRegulation#EUParliament#CASPs
🚀 EU Proposes Regulatory Shift for Cross-Border Institutions
The European Union is considering a significant change in its regulatory framework for cross-border institutions. According to ChainCatcher, the proposal suggests transferring regulatory authority from national supervisory bodies to the European Securities and Markets Authority (ESMA). This shift would affect large Crypto Asset Service Providers (CASPs), trading venues, central counterparties, and central securities depositories.
This proposal marks the most substantial structural adjustment in the EU's crypto regulatory framework since the Markets in Crypto-Assets Regulation (MiCA) was fully implemented for CASPs at the end of 2024. Under the current MiCA framework, national authorities serve as the primary regulators, while ESMA plays a coordinating role.
#EU#regulatoryshift#crossborderinstitutions#ESMA#CryptoAssetServiceProviders#CASPs#MiCA#cryptoregulation#EUcrypto
🚀 European Central Bank Supports EU's Financial Regulatory Reform
The European Central Bank (ECB) has expressed its support for the European Commission's proposal to centralize financial regulation. According to Odaily, the plan aims to transfer the regulatory authority of cross-border financial institutions, including crypto asset service providers (CASPs), from national regulators to the European Securities and Markets Authority (ESMA). This move is intended to deepen the integration of the EU capital markets and enhance international competitiveness. The ECB emphasized the need for ESMA to be adequately staffed and funded, while minimizing market disruptions during the regulatory transition.
#EuropeanCentralBank#EU#FinancialRegulation#ECB#EuropeanCommission#ESMA#CryptoAssets#CapitalMarkets#InternationalCompetitiveness#CASPs#RegulatoryReform