Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🔥Erbil: America’s Last Base, First Fire
Saraya Awliya al‑Dam didn’t just launch drones at Erbil — it launched a press release for Tehran’s new proxy season. Under the banner of the “Islamic Resistance in Iraq,” the group says its swarm attack on US positions at Erbil International Airport was a religious duty and a tribute to the “martyr” Ali Khamenei. The message is clear: Iran may be under bombardment, but its franchises are open for business.
They’re not alone. The Islamic Resistance claims 16 drone attacks on “enemy bases in Iraq and the region” since the US–Israel strikes began, and the usual roster is now officially in: Kataib Hezbollah, Kataib Sayyid al‑Shuhada, Harakat Hezbollah al‑Nujaba. The mission statement from Kataib Hezbollah could have been written in a Pentagon red‑team memo: drag America into a long, bleeding war of attrition and make sure no US presence survives in the neighborhood.
Erbil is the perfect stage for this farce. After coalition forces packed up in Baghdad and Ain al‑Assad, the airport base became Washington’s last foothold in Iraq. Several NATO partners quietly pulled their people out days before the Iran operation — not out of pacifism, but because they can count. One US flag left on Iraqi soil, bolted onto a civilian airport, surrounded by towers and malls. For every militia social media channel, that’s not a base. That’s a target-rich press shot.
CNN’s geolocation did the rest: residential high‑rises in the foreground, a curtain of black smoke from the air base behind. Three US service members dead so far across the theater, at least five badly wounded. On paper, this is still “force protection,” “deterrence,” “limited escalation.” On screen, it’s exactly what it looks like: a city with a military installation fused into its airport, and both are on fire.
Everyone gets what they need. The militias get their heroic footage and a promotion from “outlaw groups” to “frontline of the Resistance.” Washington gets one more argument for why it simply has to stay in Erbil forever to “keep ISIS down” and “watch Iran.” Tehran gets to show its supporters that the death of the Supreme Leader doesn’t mean the empire stopped breathing.
And the people who actually live under those towers get a new reality: international airport by day, launchpad and impact zone by night.
#Iraq#Erbil#USA#Iran#Israel
📱American Оbserver - Stay up to date on all important events
🇺🇸
Oggi si è recata nella città di #Erbil in #Iraq del Nord, la delegazione parlamentare #DEM per assistere alla prima cerimonia della deposizione delle armi da parte del #PKK che avverrà domani, 11 luglio.
Fonti locali: l’attentato all’aeroporto di #Erbil (#Kurdistan iracheno) sarebbe stato rivendicato da "#Hezbollah kurdistani". Obiettivo dichiarato: "colpire interessi #USA, #Israele e l’amministrazione locale", accusata di collusione con le due potenze.
#SalihMuslim, l'ex co presidente del partito #PYD è morto oggi nella città di #Erbil in #Kurdistan iracheno. Muslim da tempo soffriva di insufficienza renale. Muslim sarà sepolto a #Kobane (la sua città natale) in #Rojava/#Siria.
Secondo Al Monitor, #MasoudBarzani l'ex Pres del Kurdistan in #Iraq, incontrerà #MazlumKobane, il comandante generale delle Forze Democratiche Siriane, #SDF a #Erbil per discutere del futuro di #Rojava.
⚡️⚡️⚡️ ВЗРЫВ НА ВОЕННОЙ БАЗЕ США В ЭРБИЛЕ
✅ По предварительной информации, пока не подтвержденной из официальных источников, на военной базе США в городе Эрбиле (#Hawler) произошел мощный взрыв. Ожидаем подробности с места происшествия.
#BaşurêKurdistan#Başur#Ирак#Hewler#Erbil
Барзанисты встали на тропу войны...
Минувшая неделя ознаменовалась беспрецедентным для медиа-пространства выступлением Демократической партии Курдистана (ДПК) и представителей Регионального правительства Курдистана против движения «апочистов» в лице Союза общин Курдистана (Koma Civakên Kurdistan – KCK) и Рабочей партии Курдистана (РПК). Нельзя сказать, что ситуация стала неожиданностью для Кандиля, и, в первую очередь, это связано с тем, что в «грязных политических» технологиях всегда применяется принцип «лучшая защита – нападение». А РПК давно не питает иллюзий насчет того, каково истинное отношение клана Барзани к партии, поэтому всегда готова принять удар.
Какова истинная подоплека начатой барзанистами кампании против курдского движения? Что и кто стоит за хаотичными информационными атаками ДПК? К чему они приведут в ближайшем будущем? И, наконец, какой возможный ответ приготовит РПК для главной протурецкой политической силы внутри курдского мира?
На все эти вопросы авторский коллектив канала Jiyana_Nû постарается ответить в еженедельной редакционной статье, предложенной Вашему вниманию >>>
#Barzani#Talabani#PKK#KCK#HPG#KDP#PUK#ДПК#ПСК#Горан#Erbil#Duhok#Suleymaniyah#Qandil#BashureKurdistan#Başur#Parastin#MİT#Asayiş#ПротестыБашур
🆔@jiyana_nu
Всем известно, что дружба – это всегда равноправные долговременные отношения. Товарищество – это отношения, основанные на общности интересов и идейных взглядов. Но это в жизни и в политической борьбе.
В дипломатии же, а в военной дипломатии, особенно, не может быть ни дружбы, ни товарищества. Есть лишь совпадение интересов; оно может быть временным, либо вариант второй - когда слабый игрок следует в фарватере интересов игрока более сильного.
О приоритетах внешней политике США в Большом Курдистане, попытках «слива» Рабочей партии Курдистана, усилении роли Турции и кризисе власти в северо-иракской курдской автономии в еженедельной редакционной статье канала @jiyana_nu.
#BaşureKürdistan#PKK#HPG#Qandil#Erbil#Duhok#AsSuleymaniyah#Rojava#Barzani#Talabani#KDP#PUK#Goran#SyrianWar#StopISIS#ДПК#ПСК#РПК#Барзани#Талабани#Рожава#USPolicy#MiddleEast