Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Referendum giustizia, #AVS ha detto che riserverà agli elettori fuorisede i propri posti per ricoprire il ruolo di rappresentanti di lista ai seggi, in modo che possano votare nel seggio al quale sono assegnati, anche se diverso da quello in cui sono residenti. (ilPost)
@UltimoraPolitics24
#AI#AVs
Помимо сильного положительного влияния на роботов, развитие LLM также хорошо влияет на развитие автономных технологий в грузо- и пассажироперпвозках. Поэтому инвестиции в компании разрабатывающие беспилотные авто и грузовики это тоже ахуенная тема.
Тейки все такие же. И про снижение себестоимости тоже при росте объемов беспилотных машин в автопарках компаний-операторов грузо- и пассажироперевозок.
Скрины в этом посте из того же репорта BofA, что прикреплен выше. В посте ниже ща закину репорт Goldman Sachs по AVs где больше прогнозов по кол-ву машин, penetration в существующий автопарк и прогноз себестоимости производства AVs
Из таких компаний держу Pony AI и WeRide
La #Camera approva con 299 sì la risoluzione di maggioranza che impegna il governo a "evitare che arrivino fondi ad Hamas che siano utilizzati per finanziare attacchi terroristici e incitare all'odio verso Israele". Approvate anche le tre risoluzioni presentate dalle opposizioni, con lo stralcio (in quella di #M5S-#PD-#AVS) della parte relativa all'insediamento dei coloni in Cisgiordania
@UltimoraPolitics
No all'introduzione del salario minimo: la #Camera approva la mozione di maggioranza con 163 voti a favore, 121 no (#M5S, #PD e #AVS) e 19 astenuti (Terzo Polo). Respinti i testi delle opposizioni
@UltimoraPolitics
Decreto Pa 2, il governo ritira l'emendamento che introduceva cinque dipartimenti al Ministero della Cultura. Esultano #PD, #M5S, #Azione e #AVS.
@UltimoraPolitics
Aboubakar #Soumahoro (#AVS) lancia un appello a tutti i partiti di opposizione: "Saliamo sulle navi dei migranti, per far valere i principi di umanità racchiusi nella nostra bella e attuale Carta costituzionale"
@UltimoraPolitics
Il tribunale di Catania accoglie il ricorso di un migrante, sbarcato a Lampedusa e portato nel Cpr di Pozzallo, giudicando il recente decreto del governo "illegittimo in più parti": i giudici contestano la nuova procedura di trattenimento e la cauzione da circa 5.000 euro da pagare per non andare nel centro. #FdI: "Decisione politica e ideologica". #Bonelli (#AVS): "Meloni porta avanti una campagna di distrazione di massa che punta a trasformarla in vittima di un complotto per nascondere le sue incapacità"
@UltimoraPolitics
#Senato
Approvate le risoluzioni di maggioranza, PD e Terzo Polo, alle comunicazioni del ministro della Difesa, Guido #Crosetto, sul rinnovo dell'autorizzazione all'invio di mezzi militari all'Ucraina. La prima ha ottenuto 143 sì, 29 no e un astenuto. Le altre due 144 voti favorevoli e 28 contrari. Le risoluzioni di #AVS e #M5S non sono state votate
@UltimoraPolitics
Confermata in Cassazione la condanna a un anno e sei mesi inflitta per un reato di falso dalla Corte d'appello di Reggio Calabria nell'ottobre 2023 a Mimmo #Lucano, ex sindaco di Riace, oggi eurodeputato nelle liste di #AVS
@UltimoraPolitics
#Camera
Scontro tra #Meloni e Angelo #Bonelli (#AVS), che ha mostrato due sassi raccolti dal letto del fiume Adige in secca per criticare il governo sul modo con cui sta gestendo il problema della siccità nel Nord Italia. La premier replica: "Non sono Mosè"
@UltimoraPolitics