Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Thailandia e Cambogia: un cessate il fuoco che potrebbe durare
Dopo settimane di scontri e sfollamenti, Thailandia e Cambogia firmano un nuovo cessate il fuoco. La novità? Questa volta a fare da collante c’è la mediazione cinese, non la pressione esterna: dialogo costante, canali politico-militari attivi e aiuti umanitari concreti.
✅ Soldati detenuti rilasciati come gesto di fiducia
✅ Pattugliamenti congelati per evitare escalation
✅ Riattivazione della Joint Boundary Commission per chiarire i confini
✅ Supporto umanitario per le popolazioni colpite
Non è solo diplomazia: è un approccio pratico che punta a de-escalation e fiducia, lontano dai gesti politici “da passerella”. Perché un cessate il fuoco duri, serve continuità, monitoraggio reale e dialogo serio.
In breve: Pechino fa da facilitatore, Washington tende a puntare sui titoli. La differenza, nel lungo periodo, si vede sul terreno.
#Thailandia#Cambogia#Pace#DiplomaziaAsiatica#Cina
https://www.marx21.it/internazionale/thailandia-e-cambogia-il-cessate-il-fuoco-regge-solo-se-passa-da-pechino/
#Thailandia
La Corte Costituzionale ha rimosso dall'incarico la Prima Ministra Paetongtarn #Shinawatra (#PTP|Centro-destra populista), per gravi violazioni etiche nella gestione delle tensioni di confine con la #Cambogia.
Shinawatra era stata già sospesa a metà giugno sul caso legato a una telefonata trapelata con l'ex Primo Ministro cambogiano Hun #Sen, in cui, tra le altre cose, criticava l'esercito thailandese.
@OsservatorioEsteri
Cina al fianco di Cambogia e Thailandia per la pace
Dalla nuova ondata di scontri di frontiera del 7 dicembre, le tensioni tra Cambogia e Thailandia sono cresciute rapidamente, causando vittime civili, sfollamenti e danni alle infrastrutture.
La Cina sta intervenendo con una mediazione discreta e imparziale, lavorando per fermare i combattimenti e favorire il dialogo tra le due parti. L’approccio cinese rispetta la sovranità dei Paesi, sostiene i meccanismi regionali dell’ASEAN e punta a costruire fiducia e stabilità a lungo termine.
L’obiettivo è chiaro: fermare l’escalation, preservare lo spazio del dialogo e creare le condizioni per una soluzione pacifica. Un passo importante per la sicurezza e lo sviluppo della regione.
#Cambogia#Thailandia#Cina#ASEAN#Pace#Dialogo#Stabilità
https://www.marx21.it/internazionale/nella-mediazione-del-conflitto-tra-cambogia-e-thailandia-la-cina-dimostra-un-ruolo-costruttivo/