Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Il cancelliere tedesco Olaf #Scholz non ha ottenuto la fiducia al Bundestag aprendo la strada alle elezioni anticipate a febbraio. Il cancelliere ha ottenuto 207 voti a favore, 394 voti contro. In 116 si sono astenuti. Per ottenere la fiducia Scholz avrebbe dovuto ottenere almeno 366 voti.
@UltimoraPolitics
Migranti, Giorgia #Meloni a Olaf #Scholz: “Mi auguro che gli esatti contorni di queste iniziative del tuo governo potranno essere meglio chiariti, e sarò lieta di discutere di persona della questione alla prima occasione utile, a partire dal Vertice Ccp e dal Consiglio Europeo di Granada il prossimo 5 e 6 ottobre” e aggiunge “occorre concentrarsi nel costruire soluzioni strutturali al fenomeno migratorio”.
@UltimoraPolitics
Migranti, Giorgia #Meloni a Olaf #Scholz: "Ѐ ampiamente noto che la presenza in mare delle imbarcazioni delle ong ha un effetto diretto di moltiplicazione delle partenze di imbarcazioni precarie che risulta non solo in ulteriore aggravio per l'Italia, ma allo stesso tempo incrementa il rischio di nuove tragedie in mare"
@UltimoraPolitics
Migranti, Giorgia #Meloni scrive al cancelliere tedesco Olaf #Scholz: "Ho appreso con stupore che il tuo governo - in modo non coordinato con il governo italiano - avrebbe deciso di sostenere con fondi rilevanti ong impegnate nell'accoglienza ai migranti irregolari sul territorio italiano e in salvataggi nel Mare Mediterraneo. Entrambe le possibilità suscitano interrogativi"
@UltimoraPolitics
ANSA - Il cancelliere tedesco Olaf #Scholz ha esortato il presidente russo Vladimir #Putin a ritirare le truppe dall'Ucraina e a negoziare con Kiev. Lo annuncia il governo tedesco. #Scholz ha parlato con il presidente ucraino #Zelensky prima di sentire il…
ANSA - Il cancelliere tedesco Olaf #Scholz ha esortato il presidente russo Vladimir #Putin a ritirare le truppe dall'Ucraina e a negoziare con Kiev. Lo annuncia il governo tedesco. #Scholz ha parlato con il presidente ucraino #Zelensky prima di sentire il leader russo.
@UltimoraPolitics
La polizia tedesca ha fatto irruzione nell’abitazione dello scrittore, giornalista ed ex parlamentare del partito di Unione Cristiano-Democratica (CDU) Jürgen Todenhöfer, a Monaco di Baviera, per una serie di post sui social in cui criticava il primo ministro israeliano Benjamin Netanyahu.
Secondo quanto riferito da Todenhöfer, gli agenti hanno confiscato telefoni e dispositivi digitali dopo aver monitorato la sua abitazione. “Un tribunale tedesco ha avviato un procedimento penale contro di me, emettendo un mandato di perquisizione e di sequestro di tutti i miei dispositivi, perché ho criticato duramente Netanyahu e Scholz”, ha dichiarato lo scrittore.
Nel post X al centro dell’indagine, Todenhöfer scriveva: "Signor Netanyahu, la sua coscienza non protesta mai quando fa ai palestinesi quello che i maledetti nazisti hanno fatto agli ebrei?".
#germany#netanyahu#scholz
Retour à l'histoire
Les tentatives de l’#Occident de réécrire l’histoire n'étonnent plus personne, sauf que cette fois-ci, il s’agit d’une tragédie mondiale, et d'un exploit pour toute l’humanité. Pour Olaf #Scholz, c’est aux États-Unis que l’#Allemagne doit sa liberté. Notre reporter Igor Kourachenko nous rejoint avec toutes les précisions.
RT en français • Osez questionner !
🇩🇪#Germania - Il cancelliere tedesco Olaf #Scholz ha rifiutato nettamente la proposta del ministro delle Finanze, Christian #Lindner, di indire nuove elezioni. - BILD
@UltimoraPolitics