समांतर कार्य के लिए async का उपयोग

FastAPI परिचय

Matt Eckerle

Software and Data Engineering Leader

async क्यों? समवर्ती बर्गर!

क्रमिक बर्गर

सीरियल में बनाए और परोसे गए बर्गर के लिए कतार में ग्राहक

समवर्ती बर्गर

समांतर रूप से बनाए और परोसे गए बर्गर के लिए कतार में ग्राहक

1 https://fastapi.tiangolo.com/async/
FastAPI परिचय

व्यवहार में async

क्रमिक बर्गर

बर्गर लाने का फ़ंक्शन परिभाषित करना

# यह असिंक्रोनस नहीं है
def get_sequential_burgers(number: int):
    # कुछ क्रमिक कार्य करें
    return burgers

फ़ंक्शन को क्रमिक रूप से कॉल करना

burgers = get_burgers(2)

समवर्ती बर्गर

बर्गर लाने का फ़ंक्शन परिभाषित करना

async def get_burgers(number: int):
    # कुछ असिंक्रोनस कार्य करें
    return burgers

फ़ंक्शन को असिंक्रोनस रूप से कॉल करना

burgers = await get_burgers(2)
FastAPI परिचय

FastAPI में async

यदि हम कर सकें:

results = await some_library()

तो async def उपयोग करें:

@app.get('/')
async def read_results():
    results = await some_library()
    return results

नोट await केवल async def से बनाए गए फ़ंक्शनों के अंदर ही उपयोग करें

FastAPI परिचय

async का उपयोग कब करें

async कब उपयोग करें

जब ऐप को अन्य सिस्टम के उत्तर का इंतज़ार करना हो

  • बाहरी API
  • डेटाबेस

उदाहरण

  • HTTP अनुरोध
  • डेटाबेस क्वेरी
  • फ़ाइल पढ़ना

async कब न करें

CPU-भारी कार्य

उदाहरण

  • ऑडियो/इमेज प्रोसेसिंग
  • कंप्यूटर विज़न
  • मशीन लर्निंग
  • डीप लर्निंग

यदि सुनिश्चित न हों

FastAPI परिचय

Ayo berlatih!

FastAPI परिचय

Preparing Video For Download...