Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🇵🇪#Peru: Former Senate candidate Jorge Luis Alcalde Alfaro was assassinated by a hitman in broad daylight in Trujillo three days ago.
He was about to enter his car when another vehicle pulled up and opened fire. He later died on the way to the hospital.
(📹 via @cartelwatchnet on X & Caretas.pe)
🗺 Peru 🇵🇪
🟠It turns out you can ski not only on snow but also on sand. Such skiing takes place in the Ica Desert in Peru!
This is called sandboarding.
📏
📏
📏
📏
📏
📏
📏
📏
#Peru | @voyage
🗺 Peru 🇵🇪
🟠It turns out you can ski not only on snow but also on sand. Such skiing takes place in the Ica Desert in Peru!
This is called sandboarding
📏
📏
📏
📏
📏
📏
📏
📏
#Peru🇵🇪@voyage
🗺 Peru 🇵🇪
📏
📏
📏
📏
📏
📏
📏
📏
🟠It turns out you can ski not only on snow but also on sand. Such skiing takes place in the Ica Desert in Peru!
📏
📏
📏
📏
📏
📏
📏
📏
This is called sandboarding.
📏
📏
📏
📏
📏
📏
📏
📏
#Peru🇵🇪@voyage
🗺 Peru 🇵🇪
It turns out you can ski not only on snow but also on sand. Such skiing takes place in the Ica Desert in Peru!
This is called sandboarding.
#Peru
@voyage
Peru🇵🇪
Impressive natural masterpiece - the Rainbow Mountains in the Cusco region. ⛰🌈
The colorful layers of these mountains were formed millions of years ago from red sandstone, which, under the influence of climatic conditions, underground water, and mineral impurities, became stained with yellow, green, white, and other colors.
#Peru
@voyage
Peru🇵🇪
A walk with a magnificent view of Machu Picchu.
Machu Picchu is a legendary city nestled in the heart of the Andes at an altitude of 2400 meters. It is an ancient Inca settlement located between two mountain peaks. 🏔
When tourists gaze at the ruins of the city of Machu Picchu, which stand out dramatically among the jungle-covered mountain peaks and steep slopes, and the terraces descending into the valley, their breath is taken away.
#Peru
@voyage
The right to die
#video#Peru
Ana Estrada is confined to bed most of the time and can breathe only with a respirator. She lives with polymyositis, a rare muscle disease with no cure. Since 2016, Ana has been writing a blog called ‘Ana seeks a dignified death’. In addition, she started a legal battle to decide to end her life ‘when the time comes’. Assisted death is illegal in her country of Peru.
Peru is primarily a Catholic country, where euthanasia is prohibited alongside same-sex marriage and abortion. However, in 2021 a court ruled in favour of Ana and cleared anyone assisting in her death of criminal charges. Ana says she would decide to die when she could no longer write her blog.
On this day in 2000, the Dutch lower house of parliament voted to legalise euthanasia. Thus, the Netherlands became the first country that allowed mercy killings. Euthanasia is also legal in Spain, Belgium, Luxembourg, Canada and Colombia.
Follow: https://t.me/rtdocumentary
#video#Peru
Hundreds of thousands of Peruvian women were forcibly sterilised between 1996-2000 as part of President Alberto Fujimori’s family planning programme. The initiative was launched to reduce poverty and cut birth rates among the poor. While it was supposed to be consensual, women involved in the programme say otherwise. Most of the victims came from poor indigenous communities.
Josefa was at home when nurses came and forced her to go to the hospital. She still recalls waking up after the procedure and seeing other women crying out their husbands’ names in pain. In the following years, Josefa suffered from infections and cancer. Decades later, Josefa and others are still seeking justice through a class action suit against the ex-president.
Follow: https://t.me/rtdocumentary
#GASTRONOMIA#PERU🍲 | Cultura, sabor y frescura: La magia de la gastronomía peruana en Déjame Que Te Cuente https://ift.tt/hEqG9Wf March 22, 2025 at 06:00AM
#GASTRONOMIA#VENEZUELA#PERU👩🏻🍳🧑🏻🍳👨🏻🍳 | Chef venezolano triunfa con restaurante peruano en su país: "Necesitaba de la gastronomía de Perú" https://ift.tt/YdZC8u1 August 02, 2025 at 09:15AM