Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🇷🇺Russia proposed to open the BRICS grain exchange, which will allow to ensure food security in the association.
President #Putin:
It has been suggested to open the BRICS grain exchange that will facilitate the formation of fair and predictable price indicators for products and primary produce, considering its particular role in ensuring food security. The implementation of this initiative will help protecting national markets from negative external interference, speculations and attempts to cause the food shortage artificially.
#brics2024#brics#bricssummit
@RusEmbMalta Press Release
🇷🇺🇧🇷 President Vladimir Putin Took Part in the XVII BRICS Summit Plenary Session in Rio de Janeiro (July 6, 2025)
🗣 In his remarks, the Russian President highlighted BRICS’ growing role as a key center of global governance and stressed the importance of expanding the group based on equality, mutual respect, and the sovereign right to choose development paths.
📊 According to IMF data for 2025, BRICS accounts for 40% of the global economy, with a combined GDP (PPP) exceeding $77 trillion – far ahead of the G7’s $57 trillion.
💬Key points from President Putin’s speech:
– The world is undergoing tectonic shifts. The outdated unipolar system is giving way to a just multipolar order.
– Expanding the use of national currencies is vital. In 2024, over 90% of Russia’s transactions with BRICS partners were in the ruble and friendly currencies.
– BRICS is building an open cooperation architecture with the Global South and East – 10 countries already hold BRICS Partner status.
– Traditional values, equality, and civilizational diversity are becoming the foundation of a new globalization model.
– Developing an independent BRICS payment and settlement system is a strategic priority.
📄The Rio de Janeiro Declaration was adopted at the summit under the theme “Strengthening Global South Cooperation for a More Inclusive and Sustainable Governance.”
It includes:
✅ A reaffirmation of commitment to multilateralism and comprehensive UN reform, including Security Council expansion to better represent developing countries
✅ Strong condemnation of unilateral sanctions and the June 2025 military strikes against Iran
✅ Condemnation of terrorist attacks on Russian civilian infrastructure (May–June 2025)
✅ Support for the Palestinian people’s right to self-determination
✅ Emphasis on “African solutions to African problems” as a basis for conflict resolution on the continent
📌 Full text of Remarks by Vladimir Putin at BRICS Plenary Session
📌 Full text of BRICS Rio Declaration 2025.
#RussiaBRICS#BRICS2025#GlobalSouth#BRICSsummit