Arka plan görevlerini uygulama
Duygu analizi API'ne aynı anda yüzlerce incelemeyi toplu olarak işlemek için istekler geliyor. Kullanıcıları bekletmeden bunu verimli şekilde karşılamak için, istemciye yanıt gönderdikten sonra isteklerin işlenmeye devam etmesini sağlayan arka plan görev işleme yapısını uygulayacaksın.
Bu egzersiz, kursun bir parçasıdır
FastAPI ile Üretime AI Dağıtımı
Egzersiz talimatları
fastapiiçinden arka plan görev sınıfını içe aktar.- İsteği arka planda çalışan bir görev olarak ele almak için
background_tasksparametresini bildir. - İnceleme metinlerini analiz eden işleme görevini
process_reviewsfonksiyonunu kullanarak zamanla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Import the background task class
from fastapi import ____
# Create a background task dependency
@app.post("/analyze_batch")
async def analyze_batch(
reviews: Reviews,
background_tasks: ____
):
async def process_reviews(texts: List[str]):
for text in texts:
result = await asyncio.to_thread(sentiment_model, text)
print(f"Processed: {result[0]['label']}")
# Add the task of analysing reviews' texts to the background
background_tasks.____(process_reviews, reviews.texts)
return {"message": "Processing started"}