Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🗣🔴וואו! ציפור שפגעה במטוס תובלה של חיל האוויר גרמה לפציעתו של הטייס
המקרה אירע בשבוע שעבר במהלך טיסת חיילים רגילה. על מטוס חיל האוויר היו כ-50 נוסעים. במהלך הטיסה, הציפור פגעה בשמש תא הטייס, חדרה פנימה ופגעה בטייס. הוא נפצע קל.
הטייסים נאלצו לבצע נחיתת חירום. לכל שאר הנוסעים והצוות - שלום.
פרסום ראשון של כרמלה מנשה ברשת ב'.
https://t.me/AviationNewsIL/7895
#חילהאוויר#BirdStrike
🦢💥הפעם זה קורה אצלנו: טיסת לוט מורשה לתל אביב נפגעה הלילה מחסידהבמהלך הנחיתה
למטוס שלום, לחסידה פחות.
המטוס עבר בדיקות מהירות והמריא חזרה לפולין באיחור של שעה בלבד.
תודה לעוקב על התמונות 🫡
https://t.me/AviationNewsIL/8704
#תקרית#לוט#BirdStrike#נתבג
💥💥💥וואו! מראה פסיכי! מטוס China Southern איבד את כיסוי החרטום לאחר ההמראה בעקבות פגיעת ציפורים
טיסת CZ3554 של חברת China Southern נדרשה לחזור חזרה לנחיתה ביום שבת האחרון זמן קצר לאחר ההמראה בעקבות פגיעת ציפורים.
המטוס, איירבוס A330-343 (B-1062), שהיה בדרכו מנמל התעופה שנגחאי הונגצ'יאו (SHA) לנמל התעופה שנג'ן (SZX), נפגע מציפור זמן קצר לאחר ההמראה. הפגיעה גרמה לנזק חמור לחרטום המטוס, כאשר כיפת הרדום (Radome) נהרסה לחלוטין ואף נתלשה.
צוות המטוס הכריז על מצב חירום וחזר לנמל המוצא, שם בוצעה נחיתה בטוחה. לא דווח על נפגעים.
https://t.me/AviationNewsIL/9437
#תקרית#ChinaSouthern#BirdStrike
✅✅✅זוכרים את מטוס הבואינג 777F של חברת Silk Way West Airlines שנפגע מגוש קרח? אז במהלך הסופ"ש הוחלפה כיפת האף
https://t.me/AviationNewsIL/8910
#נתבג#SilkWayWestAirlines#BirdStrike#IceStrike
💥💥💥פגיעת ציפור? פגיעת תיק? פגיעת ארנב? פגיעת אייל? לא, לא, לא ולא: הפעם - פגיעת גוש קרח!
לטענת טייסי מטוס הבואינג 777F (VPBMG) של חברת Silk Way West Airlines, המטוס נפגע בלילה שבין אתמול להיום, בעת ההמראה מבאקו שבאזרבייג'ן מ"גוש קרח".
לא מראות שרואים כל יום בנתב"ג.
ואם את פגיעת האייל אתם לא ממש זוכרים - אז פה יש לכם תזכורת 🦌
תודה ענקית לנתי על המידע! 🔥
https://t.me/AviationNewsIL/8878
#נתבג#SilkWayWestAirlines#BirdStrike#IceStrike
💥💥💥הלך האף: חפץ בלתי מזוהה פגע באף מטוס Garuda Indonesia
מטוס בואינג 737-8U3(WL) של חברת גארודה אינדונזיה שהפעיל את טיסה GA176 בקו ג'קרטה – פקאנבארו, התגלה עם נזק משמעותי לחרטום המטוס לאחר נחיתה.
האירוע התרחש ביום שבת האחרון עם הנחיתה בנמל התעופה סולטאן סיאריף קסים (PKU).
על פי הודעת החברה, במהלך בדיקה שביצעו צוות האוויר והטכנאים לאחר הנחיתה התגלה כי חרטום המטוס ניזוק בצורה חמורה.
החברה ציינה כי נסיבות האירוע עדיין נבדקות, והגורם לנזק טרם נקבע. אחד החשדות הוא פגיעת חפץ זר בלתי מזוהה (FOD) במהלך הטיסה.
https://t.me/AviationNewsIL/9369
#תקרית#FOD#BirdStrike#אינדונזיה#GarudaIndonesia