Rumah >pembangunan bahagian belakang >Tutorial Python >Gunakan rangka kerja FastAPI untuk membina aplikasi tugas tak segerak yang cekap

Gunakan rangka kerja FastAPI untuk membina aplikasi tugas tak segerak yang cekap

WBOY
WBOYasal
2023-09-27 10:06:231720semak imbas

Gunakan rangka kerja FastAPI untuk membina aplikasi tugas tak segerak yang cekap

Gunakan rangka kerja FastAPI untuk membina aplikasi tugas tak segerak yang cekap

Pengenalan:
Dalam aplikasi web moden, tugas tak segerak adalah keperluan yang sangat biasa, seperti menghantar e-mel, menjana laporan, memanggil API pihak ketiga, dsb. Kaedah pemprosesan penyegerakan tradisional akan menyekat utas utama, menyebabkan pengguna menunggu terlalu lama. Untuk meningkatkan prestasi aplikasi dan pengalaman pengguna, kami boleh menggunakan tugas tak segerak untuk mengendalikan operasi yang memakan masa ini. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja FastAPI untuk membina aplikasi tugas tak segerak yang cekap dan menyediakan contoh kod khusus.

1. Pengenalan kepada rangka kerja FastAPI
FastAPI ialah rangka kerja web moden berdasarkan Python, yang menggabungkan prestasi pantas dan tinggi. FastAPI menggunakan pemprosesan permintaan tak segerak dan menggunakan tugas tak segerak untuk meningkatkan kelajuan tindak balas aplikasi dan daya pemprosesan. Pada masa yang sama, FastAPI juga menyediakan fungsi seperti menjana dokumen API secara automatik, mengesahkan parameter permintaan, memproses permintaan dan respons, dsb., yang sangat memudahkan kerja pembangunan.

2. Cipta aplikasi tugas tak segerak

  1. Pasang FastAPI dan perpustakaan sokongan tugas tak segerak
    Pertama, kami perlu memasang FastAPI dan perpustakaan sokongan tugas tak segerak. Anda boleh menggunakan arahan berikut:
pip install fastapi
pip install aiohttp
  1. Tulis fungsi pemprosesan tugas tak segerak
    Seterusnya, kita perlu menulis fungsi pemprosesan tugas tak segerak. Fungsi ini akan mengendalikan logik tugas tak segerak khusus yang kami takrifkan, yang boleh menghantar e-mel, menjana laporan, dsb.

Kod sampel adalah seperti berikut:

import asyncio

async def send_email(email: str, content: str):
    # 模拟发送邮件的异步操作
    await asyncio.sleep(3)
    print(f"向邮箱 {email} 发送邮件:{content}")
  1. Buat aplikasi FastAPI
    Kemudian, kami mencipta aplikasi FastAPI dan menambah antara muka pemprosesan tugas tak segerak.

Kod sampel adalah seperti berikut:

from fastapi import FastAPI
import asyncio

app = FastAPI()

@app.post("/send-email")
async def handle_send_email(email: str, content: str):
    # 创建一个异步任务
    task = asyncio.create_task(send_email(email, content))
    return {"message": "异步任务已启动"}

Dalam kod di atas, kami menggunakan penghias @app.post untuk menentukan laluan yang menerima permintaan POST Apabila permintaan tiba, handle_send_email akan dilaksanakan Fungsi. Dalam fungsi, kami mencipta tugas tak segerak tugas dan mengembalikan mesej gesaan. @app.post装饰器定义一个接受POST请求的路由,当请求到达时,将会执行handle_send_email函数。在函数中,我们创建一个异步任务task,并返回一个提示信息。

  1. 运行FastAPI应用
    最后,我们使用以下命令来运行FastAPI应用:
uvicorn main:app --reload

其中,main为保存FastAPI应用的Python文件,app为FastAPI应用的实例对象。--reload选项表示当代码发生变化时,应用自动重载。

三、测试异步任务应用
现在我们可以使用任意的HTTP工具(如curl、Postman等)向/send-email

    Jalankan aplikasi FastAPI

    Akhir sekali, kami menggunakan arahan berikut untuk menjalankan aplikasi FastAPI:

    POST /send-email HTTP/1.1
    Host: localhost:8000
    Content-Type: application/json
    
    {
        "email": "example@example.com",
        "content": "Hello, World!"
    }

    Antaranya, utama ialah fail Python yang menyimpan Aplikasi FastAPI, app ialah objek contoh aplikasi FastAPI. Pilihan --reload menunjukkan bahawa aplikasi akan memuat semula secara automatik apabila kod berubah.


    3 Uji aplikasi tugas tak segerak

    Kini kami boleh menggunakan mana-mana alat HTTP (seperti curl, Posman, dll.) untuk menghantar permintaan POST ke antara muka /send-email untuk menguji tak segerak. permohonan tugas.


    Permintaan sampel adalah seperti berikut:

    rrreee🎜Selepas menerima permintaan, aplikasi akan mencipta tugas tak segerak untuk mengendalikan logik menghantar e-mel dan membalas respons dengan segera. 🎜🎜Kesimpulan: 🎜Sangat mudah untuk membina aplikasi tugas tak segerak yang cekap menggunakan rangka kerja FastAPI. Melalui pemprosesan tugas tak segerak, kami boleh meningkatkan prestasi aplikasi dan pengalaman pengguna. Pada masa yang sama, rangka kerja FastAPI menyediakan penghalaan yang mudah dan fungsi pemprosesan permintaan, menjadikan kerja pembangunan aplikasi lebih mudah. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan rangka kerja FastAPI untuk membina aplikasi tugas tak segerak yang cekap. Melalui contoh kod khusus, kami menunjukkan cara untuk mencipta fungsi pemprosesan tugas tak segerak, mencipta aplikasi FastAPI dan melaksanakan antara muka tugas tak segerak untuk menghantar e-mel. Saya harap artikel ini dapat membantu pembaca mula menggunakan rangka kerja FastAPI dengan cepat dan membina aplikasi tugas tak segerak yang cekap. 🎜

Atas ialah kandungan terperinci Gunakan rangka kerja FastAPI untuk membina aplikasi tugas tak segerak yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn