Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#Anunț
Au început îscrierile pentru Campionatul Mondial de Limba Rusă pentru Străini 2025.
Campionatul este un concurs internațional și un eveniment educațional care reunește echipe din întreaga lume pentru a-și demonstra cunoștințele de limba rusă, abilitatea de a-și apăra punctul de vedere, de a participa la discuții, de a rezolva probleme logice, de a lucra în echipă și de a-și demonstra creativitatea.
ℹ️ Pentru a participa, trebuie să formați o echipă de 5 persoane cu vârste cuprinse între 16 și 22 de ani, fiecare membru având cel puțin nivelul A2 de competență în limba rusă. Echipa trebuie să aibă și un antrenor (cu vârsta de cel puțin 21 de ani) care să ghideze și să sprijine echipa pe parcursul tuturor etapelor competiției.
Anul trecut, Campionatul Mondial de Limba Rusă pentru Străini a reunit peste 2.000 de participanți din întreaga lume, inclusiv din țări precum India, China, Grecia, Vietnam și diverse națiuni din America Latină. Finala s-a desfășurat la „Țarskoie Selo”, echipa din Kazahstan ocupând primul loc.
🌐 În 2025, echipele vor fi grupate pe regiuni geografice: statele postsovietice, Africa, Asia, America și Europa. Primele zece echipe care vor trece cu succes de etapa online vor fi invitate la runda finală de la Moscova, Rusia, care va avea loc în decembrie 2025. Toate cheltuielile de călătorie vor fi acoperite de organizatori.
Înscrierile sunt deschise până la 15 septembrie 2025. Participarea este gratuită.
🔎Aflați mai multe despre campionat și înscrieți-vă!
#Anunț
🗓 Combaterea fraudelor pe internet, precum și asigurarea securității infrastructurii informatice critice împotriva atacurilor teroriste și a diversiunilor tehnologice vor deveni unele dintre subiectele centrale de discuție în cadrul celei de-a 13-a Reuniuni Internaționale a Înalților Reprezentanți Responsabili cu Problemele de Securitate, care va avea loc la Moscova, în perioada 27–29 mai 2025, la Centrul Național „Rossia”.
Provocările și amenințările din spațiul informațional, precum și căile de depășire a acestora vor fi discutate de consilierii pentru securitate națională și coordonatorii serviciilor speciale din peste 100 de state, în cadrul unei mese rotunde speciale, cu participarea experților de profil.
Aceasta va oferi posibilitatea de a aborda cele mai stringente probleme din domeniul securității informaționale într-o atmosferă de cooperare internațională strânsă și bazată pe încredere.
ℹ Forumul se va desfășura sub conducerea Secretarului Consiliului de Securitate al Federației Ruse, Serghei Șoigu. Au fost trimise invitații de participare către peste 150 de state din Sudul și Estul Global, țările CSI, OTSC, UEEA, OCS, precum și către conducerea a peste 20 de organizații internaționale.
Delegații ale țărilor membre #BRICS, #ASEAN, Uniunea Africană, Liga Statelor Arabe, #OCS, #CSI, #OTSC și alte organizații internaționale și-au confirmat deja participarea. Până în prezent, peste 125 de delegații din mai mult de 100 de țări și-au confirmat deja participarea la Reuniunea.
Pe ordinea de zi a forumului se vor regăsi subiecte privind cooperarea internațională în domeniul securității. În special, va fi abordată tema formării unei noi arhitecturi de securitate echitabile și indivizibile, care să corespundă realităților contemporane.