Menerapkan tugas latar belakang
API analisis sentimen Anda menerima permintaan untuk memproses ratusan ulasan sekaligus. Agar penanganannya efisien tanpa membuat pengguna menunggu, Anda akan menerapkan pemrosesan tugas latar belakang sehingga permintaan diproses setelah respons dikirim ke klien.
Latihan ini merupakan bagian dari kursus
Menerapkan AI ke Produksi dengan FastAPI
Instruksi latihan
- Impor kelas tugas latar belakang dari
fastapi. - Deklarasikan parameter
background_tasksuntuk menangani permintaan sebagai tugas yang berjalan di latar belakang. - Jadwalkan tugas pemrosesan untuk menganalisis teks ulasan menggunakan fungsi
process_reviews.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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"}