Server-Sent-Event (SSE) with FastAPI (Python)

1 min read

FastAPI là một framework hiện đại, nhanh và dễ sử dụng để xây dựng các API với Python. Dưới đây là hướng dẫn cơ bản về cách cấu hình SSE response bằng FastAPI.

1. Cài đặt môi trường

Đầu tiên, hãy chắc chắn rằng bạn đã cài đặt Python và pip trên máy của mình.

2. Tạo dự án và môi trường ảo

mkdir sse-server-fastapi
cd sse-server-fastapi
python -m venv venv
source venv/bin/activate # Trên Windows sử dụng: venv\Scripts\activate

3. Cài đặt các gói cần thiết

pip install fastapi uvicorn

4. Tạo API server

Tạo một file server.py và thêm mã sau để thiết lập máy chủ SSE:

from fastapi import FastAPI
import asyncio
from fastapi.responses import StreamingResponse

app = FastAPI()


@app.get("/events")
async def get_events():
    async def event_generator():
        for i in range(10):
            yield f"data: {i}\n\n"
            await asyncio.sleep(1)

    return StreamingResponse(event_generator(), media_type="text/event-stream")

5. Run server

uvicorn server:app --reload

6. Kiểm tra kết nối

Sử dụng postman, call request tới localhost:8000/events và kiểm tra data server trả về

Kết luận

SSE là một giải pháp đơn giản và hiệu quả để cập nhật dữ liệu thời gian thực từ máy chủ đến client. Nó phù hợp cho các ứng dụng cần thông tin cập nhật liên tục như thông báo, dữ liệu cảm biến, và nhiều ứng dụng khác. Hy vọng hướng dẫn này sẽ giúp bạn hiểu rõ hơn và áp dụng SSE trong các dự án của mình.

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc comment trong lập trình

Trong lập trình, code không chỉ là một tập hợp các câu lệnh để máy tính thực thi, mà còn là một hình thức...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc xử lý lỗi (Error Handling)

Trong quá trình phát triển phần mềm, việc xử lý lỗi không chỉ là một phần quan trọng mà còn ảnh hưởng trực tiếp...
Avatar photo Dat Tran Thanh
4 min read

Leave a Reply

Your email address will not be published. Required fields are marked *