Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#ULTIMORA
Giorno del Ricordo, spaccata la targa in memoria delle vittime delle #Foibe a Firenze, nella piazza dedicata ai martiri dell'Istria e della Venezia Giulia. Ripristinata solo pochi giorni fa, dopo un precedente vandalismo, è stata rotta di nuovo
🗞@ultimora24
Ci sono pagine di storia poco raccontate perché parlano di persone comuni.
Di case rubate.Di notti interrotte. Di vite spezzate nel silenzio.
Tra il 1943 e il 1947 migliaia di italiani dell’Istria, di Fiume e della Dalmazia furono portati via così: senza spiegazioni, senza ritorno.
Molti vennero gettati nelle foibe.
Senza un nome. Senza una tomba.
E chi sopravvisse fu costretto a lasciare tutto: la propria terra, i ricordi, l’identità.
Oltre 250.000 persone in fuga con una valigia piena di assenze.
E all’arrivo, spesso, insulti e diffidenza.
Per troppo tempo questa storia è stata ignorata.
Ma il dolore non sparisce se lo cancelli.
#italia#storia#foibe#accaddeoggi#storiaitaliana
#Foibe#GiornoDelRicordo#Storia
In queste settimane si parla molto delle foibe. Spesso, però, la discussione viene strumentalizzata per fini politici e propagandistici, senza alcuna volontà di fare luce sulla complessità storica o di cercare una vera riconciliazione.
Per comprendere davvero quella tragedia, bisogna partire dalla STORIA, dai fatti documentati e inoppugnabli che l'hanno preceduta. Solo così si può onorare tutte le vittime innocenti e togliere ossigeno a chi alimenta odi per un pugno di voti.
Il mito degli "italiani brava gente" nasconde una rimozione collettiva. Secondo documenti delle Nazioni Unite e studi storici (come quelli di M. Palombo per la BBC), durante il periodo coloniale e la Seconda Guerra Mondiale, fascisti e esercito italiano uccisero oltre un milione di persone, tra cui 300.000 nella sola Jugoslavia.
800 italiani furono dichiarati criminali di guerra dalle Nazioni Unite e mai processati. Nei campi di concentramento italiani, come quello di Rab (Arbe), morirono migliaia di jugoslavi. L'Alto Commissario per la Provincia di Lubiana documentò nel 1942 condizioni atroci nel campo di Arbe. La risposta del generale Gastone Gambara fu: "Logico ed opportuno che campo di concentramento non significhi campo d'ingrassamento".
Circolari militari come la 4C del generale Roatta sancivano la ferocia della repressione: "testa per dente", non "dente per dente". Ordini che portarono a eccidi come quello di Gramozna Jama.
Già dagli anni '20, il fascismo attuò nelle terre del confine orientale una spietata politica di snazionalizzazione, italianizzazione forzata (cognomi, toponimi, lingue), chiusura di scuole e associazioni slave, deportazioni. I territori che l'Italia rivendicava e occupò nell'aprile 1941 erano abitati a maggioranza da popolazioni slave, come documentano anche le carte etniche di Cesare Battisti.
Le vittime accertate delle foibe sono circa 2.000-3.000. Tra loro ci furono innocenti, ma anche fascisti e collaborazionisti che in quelle zone si erano macchiati di atrocità contro la popolazione civile. Non si può estrapolare quegli eventi dal loro contesto storico: furono, in parte, l'onda lunga di una violenza iniziata molto prima.
Prima di giudicare, l'Italia dovrebbe fare i conti con la sua storia di aggressioni: dall'Eritrea alla Somalia, dalla Libia alla Grecia, all'invasione della Jugoslavia nel 1941. Quando avremo una giornata del ricordo per tutte le vittime innocenti dei crimini italiani? Sarebbe un atto di pace e riconciliazione vero.
La riconciliazione nazionale è già avvenuta il 25 aprile 1945, con la sconfitta del fascismo e la vittoria della Liberazione. Come scriveva Giorgio Bocca, si può avere pietà per le persone, ma non si può revisionare l'orrore delle idee barbare e assassine. Onoriamo la memoria di tutti gli innocenti, rispettando la verità storica.
#StoriaVera#Resistenza#Antifascismo#MemoriaCondivisa
https://www.marx21.it/storia-teoria-e-scienza/foibe-si-foibe-no-come-si-arriva-storicamente-a-quegli-avvenimenti-tragici/