Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Sponsored
Navigating #Ethiopia’s #PVoC Requirements: TÜV Rheinland Supports Exporters for Smooth Market Access
As Ethiopia continues strengthening its quality infrastructure and import control framework, exporters shipping regulated products to the country are reminded of the importance of complying with the Pre-Export Verification of Conformity (PVoC) program prior to shipment.
The PVoC program, overseen by the Ethiopian Conformity Assessment Enterprise under the Ministry of Trade and Regional Integration (#MoTRI), requires regulated products to undergo conformity assessment procedures before export to Ethiopia.
A Certificate of Conformity (#CoC) must be issued to ensure smooth customs clearance and prevent delays at the port of entry.
For exporters, understanding the applicable certification route, documentation requirements, and product scope is critical to avoiding unnecessary costs, shipment holds, or re-exports.
For more click the link: https://addisstandard.com/?p=55617
Sponsored post
#TÜV_Rheinland Further Strengthens Role in PVoC Sector, Becoming a Strategic Authorized Body for Inspection and Certification under ECAE - #MOTRI
Agreement signed on 3rd December 2025 strengthens safe, compliant market access to Ethiopia
Addis Abeba, 3rd December 2025 TÜV Rheinland announced it has signed a new contract with the #Ethiopian Conformity Assessment Enterprise (#ECAE), under the Ministry of Trade and Regional Integration (#MoTRI), authorizing TÜV Rheinland to conduct inspections, testing (where applicable), and issue Certificates of Conformity (#CoC) for regulated products exported to Ethiopia under the country’s Pre-Export Verification of Conformity (#PVoC) program.
The PVoC framework helps protect consumers and the environment from unsafe or substandard imports and streamlines customs clearance by ensuring regulated products comply with Ethiopia’s national standards before shipment.
“This partnership reflects a shared commitment to safety, quality, and fair trade,” said Mr. Fares Naouri, Senior Vice President Government Inspections and International Trade (#GIIT) - TÜV Rheinland. “With our global laboratory network and experienced technical teams, exporters and importers alike can rely on efficient and transparent conformity assessment services.”
Under the agreement, TÜV Rheinland is authorized to assess technical documentation, perform consignment & factory inspections, and conduct laboratory tests. The certificate of Conformity (COC) is issued as a confirmation of successful completion of the compliance verification procedure.
https://addisstandard.com/?p=54647