Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata

Cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata

Jul 29, 2023 pm 06:09 PM
fastapi pemberitahuan tolak kemas kini masa nyata

Cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata

Pengenalan:
Dengan perkembangan berterusan Internet, kemas kini data masa nyata menjadi semakin penting. Contohnya, dalam senario aplikasi seperti perdagangan masa nyata, pemantauan masa nyata dan permainan masa nyata, kami perlu mengemas kini data tepat pada masanya untuk memberikan maklumat yang paling tepat dan pengalaman pengguna yang terbaik. FastAPI ialah rangka kerja web berasaskan Python moden yang menyediakan cara yang mudah dan cekap untuk membina aplikasi web berprestasi tinggi. Artikel ini akan memperkenalkan cara menggunakan FastAPI untuk melaksanakan pemberitahuan tolak untuk mengemas kini data dalam masa nyata.

Langkah 1: Penyediaan
Pertama, kita perlu memasang FastAPI dan perpustakaan bergantung yang sepadan. Ia boleh dipasang menggunakan arahan berikut:

pip install fastapi
pip install uvicorn
Salin selepas log masuk

Seterusnya, kita perlu mencipta fail Python dan menamakannya main.py. Kami akan menulis aplikasi FastAPI kami di dalamnya. main.py。我们将在其中编写我们的FastAPI应用程序。

步骤二:编写推送通知逻辑
我们将使用WebSocket来实现推送通知的功能。WebSocket是一种在客户端和服务器之间实现全双工通信的协议。在FastAPI中,可以使用第三方库fastapi-websocket来轻松地为我们的应用程序添加WebSocket支持。可以使用以下命令来安装该库:

pip install fastapi-websocket
Salin selepas log masuk

main.py中,我们首先导入所需的模块:

from fastapi import FastAPI, WebSocket
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from fastapi import WebSocket, WebSocketDisconnect

from fastapi_websocket_pubsub import PubSubEndpoint
from fastapi_websocket_pubsub import PubSubWebSocketEndpoint
Salin selepas log masuk

然后,我们创建一个FastAPI应用程序:

app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")

templates = Jinja2Templates(directory="templates")
Salin selepas log masuk

接下来,我们需要定义WebSocket的逻辑。我们将创建一个WebSocket的子类,并在其中实现推送通知的功能:

class NotificationsWebSocket(WebSocketEndpoint):
async def on_receive(self, websocket: WebSocket, data: str):
    # 在这里实现推送通知的逻辑
    # 可以根据需要订阅特定的主题或频道

async def on_connect(self, websocket: WebSocket):
    await websocket.accept()

async def on_disconnect(self, websocket: WebSocket, close_code: int):
    await self.pubsub.unsubscribe(self.room_name, websocket)

app.add_websocket_route("/ws", NotificationsWebSocket)
Salin selepas log masuk

on_receive方法中,我们可以根据需要订阅特定的主题或频道,并通过WebSocket将新数据发送给客户端。在FastAPI应用程序中,我们可以使用PubSubEndpoint来管理订阅和发布的逻辑。可以使用以下命令来安装fastapi_websocket_pubsub库:

pip install fastapi_websocket_pubsub
Salin selepas log masuk

main.py中,我们导入PubSubEndpoint并创建一个实例:

from fastapi_websocket_pubsub import PubSubEndpoint

pubsub = PubSubEndpoint()
Salin selepas log masuk

然后,我们将pubsub实例传递给WebSocket的子类,以便在其中使用推送通知的功能:

class NotificationsWebSocket(WebSocketEndpoint):
    async def on_receive(self, websocket: WebSocket, data: str):
        # 在这里实现推送通知的逻辑
        await self.pubsub.publish(self.room_name, data)

    async def on_connect(self, websocket: WebSocket):
        await self.pubsub.subscribe(self.room_name, websocket)
        await websocket.accept()

    async def on_disconnect(self, websocket: WebSocket, close_code: int):
        await self.pubsub.unsubscribe(self.room_name, websocket)
Salin selepas log masuk

步骤三:创建前端页面
我们还需要创建一个前端页面,以便用户可以通过浏览器访问我们的应用程序。可以创建一个名为index.html的文件,并将其放在名为templates的文件夹中。在index.html中,我们可以使用WebSocket来订阅推送通知,并在接收到新数据时更新页面。以下是一个简单的示例:

<!DOCTYPE html>
<html>
<head>
    <title>Notifications</title>
</head>
<body>
    <h1>Notifications</h1>
    <ul id="messages"></ul>

    <script>
    const socket = new WebSocket("ws://localhost:8000/ws");
    
    socket.onopen = () => {
        console.log("WebSocket connection is open.");
    };
    
    socket.onmessage = (event) => {
        const message = document.createElement("li");
        message.textContent = event.data;
        document.getElementById("messages").appendChild(message);
    };
    
    socket.onclose = () => {
        console.log("WebSocket connection is closed.");
    };
    
    </script>
</body>
</html>
Salin selepas log masuk

步骤四:启动应用程序
main.py的末尾,我们需要添加以下代码以启动FastAPI应用程序:

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)
Salin selepas log masuk

现在,我们可以使用以下命令启动我们的FastAPI应用程序:

python main.py
Salin selepas log masuk

完成!现在,我们可以通过浏览器访问http://localhost:8000

Langkah 2: Tulis logik pemberitahuan tolak

Kami akan menggunakan WebSocket untuk melaksanakan fungsi pemberitahuan tolak. WebSocket ialah protokol yang membolehkan komunikasi dupleks penuh antara klien dan pelayan. Dalam FastAPI, kami boleh menggunakan pustaka pihak ketiga fastapi-websocket untuk menambahkan sokongan WebSocket pada aplikasi kami dengan mudah. Perpustakaan boleh dipasang menggunakan arahan berikut:
rrreee

Dalam main.py, kami mula-mula mengimport modul yang diperlukan: 🎜rrreee🎜Kemudian, kami mencipta aplikasi FastAPI: 🎜rrreee🎜Seterusnya, kami perlu untuk menentukan logik WebSocket. Kami akan mencipta subkelas WebSocket dan melaksanakan fungsi pemberitahuan tolak di dalamnya: 🎜rrreee🎜Dalam kaedah on_receive, kami boleh melanggan topik atau saluran tertentu mengikut keperluan dan menghantar data baharu melalui WebSocket Dihantar kepada pelanggan . Dalam aplikasi FastAPI, kami boleh menggunakan PubSubEndpoint untuk mengurus logik langganan dan penerbitan. Pustaka fastapi_websocket_pubsub boleh dipasang menggunakan arahan berikut: 🎜rrreee🎜Dalam main.py, kami mengimport PubSubEndpoint dan mencipta contoh: 🎜rrreee🎜Kemudian, kami lulus pubsub instance Berikan subkelas WebSocket untuk menggunakan fungsi pemberitahuan tolak di dalamnya: 🎜rrreee🎜 Langkah Ketiga: Buat halaman hadapan 🎜 Kami juga perlu mencipta halaman hadapan supaya pengguna boleh mengakses aplikasi kami melalui pelayar. Anda boleh mencipta fail yang dipanggil index.html dan meletakkannya dalam folder yang dipanggil templates. Dalam index.html kami boleh menggunakan WebSocket untuk melanggan pemberitahuan tolak dan mengemas kini halaman apabila data baharu diterima. Berikut ialah contoh mudah: 🎜rrreee🎜 Langkah 4: Mulakan aplikasi 🎜 Pada penghujung main.py, kita perlu menambah kod berikut untuk memulakan aplikasi FastAPI: 🎜rrreee🎜Sekarang, kita boleh menggunakan Perintah berikut memulakan aplikasi FastAPI kami: 🎜rrreee🎜Selesai! Kini, kita boleh melawati http://localhost:8000 melalui penyemak imbas untuk melihat fungsi pemberitahuan tolak. Apabila data baharu ditolak, halaman akan dikemas kini secara automatik untuk memaparkan maklumat terkini. 🎜🎜Kesimpulan: 🎜Artikel ini menerangkan cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata. Dengan menggunakan perpustakaan WebSocket dan PubSubEndpoint, kami boleh melaksanakan fungsi pemberitahuan tolak dengan mudah. Kaedah mengemas kini data dalam masa nyata ini boleh digunakan pada banyak senario aplikasi, seperti perdagangan masa nyata, pemantauan masa nyata dan permainan masa nyata. Saya harap artikel ini dapat membantu anda, dan saya harap anda boleh menggunakan FastAPI untuk membina aplikasi web yang lebih cekap dan masa nyata. 🎜

Atas ialah kandungan terperinci Cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan Nginx dengan FastAPI untuk proksi terbalik dan pengimbangan beban Cara menggunakan Nginx dengan FastAPI untuk proksi terbalik dan pengimbangan beban Aug 01, 2023 am 09:44 AM

Cara menggunakan Nginx dengan FastAPI untuk proksi terbalik dan pengimbangan beban Pengenalan: FastAPI dan Nginx ialah dua alat pembangunan web yang sangat popular. FastAPI ialah rangka kerja Python berprestasi tinggi, dan Nginx ialah pelayan proksi terbalik yang berkuasa. Menggunakan kedua-dua alatan ini bersama-sama boleh meningkatkan prestasi dan kebolehpercayaan aplikasi web anda. Dalam artikel ini, kita akan belajar cara menggunakan Nginx dengan FastAPI untuk proksi terbalik dan pengimbangan beban. Apakah penjanaan terbalik

Bagaimana untuk mencapai keselarasan tinggi dan pengimbangan beban permintaan dalam FastAPI Bagaimana untuk mencapai keselarasan tinggi dan pengimbangan beban permintaan dalam FastAPI Jul 31, 2023 pm 01:50 PM

Bagaimana untuk mencapai keselarasan tinggi dan pengimbangan beban permintaan dalam FastAPI Pengenalan: Dengan pembangunan Internet, keselarasan tinggi aplikasi web telah menjadi masalah biasa. Apabila mengendalikan sejumlah besar permintaan, kami perlu menggunakan rangka kerja dan teknologi yang cekap untuk memastikan prestasi sistem dan kebolehskalaan. FastAPI ialah rangka kerja Python berprestasi tinggi yang boleh membantu kami mencapai keselarasan tinggi dan pengimbangan beban. Artikel ini akan memperkenalkan cara menggunakan FastAPI untuk mencapai keselarasan tinggi dan pengimbangan beban permintaan. Kami akan menggunakan Python3.7

Cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata Cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata Jul 29, 2023 pm 06:09 PM

Cara menggunakan pemberitahuan tolak dalam FastAPI untuk mengemas kini data dalam masa nyata Pengenalan: Dengan pembangunan berterusan Internet, kemas kini data masa nyata menjadi semakin penting. Contohnya, dalam senario aplikasi seperti perdagangan masa nyata, pemantauan masa nyata dan permainan masa nyata, kami perlu mengemas kini data tepat pada masanya untuk memberikan maklumat yang paling tepat dan pengalaman pengguna yang terbaik. FastAPI ialah rangka kerja web berasaskan Python moden yang menyediakan cara yang mudah dan cekap untuk membina aplikasi web berprestasi tinggi. Artikel ini akan memperkenalkan cara menggunakan FastAPI untuk dilaksanakan

Bagaimana untuk melaksanakan failover dan cuba semula permintaan dalam FastAPI Bagaimana untuk melaksanakan failover dan cuba semula permintaan dalam FastAPI Jul 28, 2023 pm 01:33 PM

Cara melaksanakan pemulihan kegagalan permintaan dan cuba semula dalam FastAPI Pengenalan: Dalam membangunkan aplikasi web, kita sering perlu berkomunikasi dengan perkhidmatan lain. Walau bagaimanapun, perkhidmatan ini mungkin mengalami kegagalan, seperti gangguan rangkaian sementara atau tamat masa respons. Untuk memastikan aplikasi kami boleh dipercayai, kami perlu pulih daripada kegagalan dan cuba semula apabila perlu. Dalam artikel ini, kita akan mempelajari cara melaksanakan failover dan cuba semula permintaan dalam FastAPI. FastAPI ialah aplikasi web moden berdasarkan Python

Bagaimana untuk melaksanakan muat naik dan pemprosesan fail dalam FastAPI Bagaimana untuk melaksanakan muat naik dan pemprosesan fail dalam FastAPI Jul 28, 2023 pm 03:01 PM

Cara melaksanakan muat naik dan pemprosesan fail dalam FastAPI FastAPI ialah rangka kerja web berprestasi tinggi moden yang mudah digunakan dan berkuasa Ia menyediakan sokongan asli untuk muat naik dan pemprosesan fail. Dalam artikel ini, kami akan mempelajari cara melaksanakan fungsi muat naik dan pemprosesan fail dalam rangka kerja FastAPI dan menyediakan contoh kod untuk menggambarkan langkah pelaksanaan tertentu. Pertama, kita perlu mengimport perpustakaan dan modul yang diperlukan: fromfastapiimportFastAPI,UploadF

Bagaimana untuk melaksanakan sambungan pangkalan data dan pemprosesan transaksi dalam FastAPI Bagaimana untuk melaksanakan sambungan pangkalan data dan pemprosesan transaksi dalam FastAPI Jul 30, 2023 am 11:45 AM

Bagaimana untuk melaksanakan sambungan pangkalan data dan pemprosesan transaksi dalam FastAPI Pengenalan: Dengan perkembangan pesat aplikasi web, sambungan pangkalan data dan pemprosesan transaksi telah menjadi topik yang sangat penting. FastAPI ialah rangka kerja web Python berprestasi tinggi yang disukai oleh pembangun kerana kelajuan dan kemudahan penggunaannya. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan sambungan pangkalan data dan transaksi dalam FastAPI untuk membantu anda membina aplikasi web yang boleh dipercayai dan cekap. Bahagian 1: Sambungan pangkalan data dalam FastA

Cara menggunakan caching dalam FastAPI untuk mempercepatkan respons Cara menggunakan caching dalam FastAPI untuk mempercepatkan respons Jul 28, 2023 pm 08:17 PM

Cara menggunakan caching dalam FastAPI untuk mempercepatkan respons Pengenalan: Dalam pembangunan web moden, prestasi adalah kebimbangan penting. Jika aplikasi kami tidak dapat bertindak balas terhadap permintaan pelanggan dengan cepat, ia boleh menyebabkan penurunan dalam pengalaman pengguna atau bahkan pergolakan pengguna. Menggunakan cache adalah salah satu kaedah biasa untuk meningkatkan prestasi aplikasi web. Dalam artikel ini, kami akan meneroka cara menggunakan caching untuk mempercepatkan kelajuan tindak balas rangka kerja FastAPI dan menyediakan contoh kod yang sepadan. 1. Apakah cache? Cache ialah cache yang akan diakses dengan kerap

Cara melaksanakan pemprosesan selari dan panggilan tak segerak permintaan dalam FastAPI Cara melaksanakan pemprosesan selari dan panggilan tak segerak permintaan dalam FastAPI Jul 29, 2023 am 10:09 AM

Cara melaksanakan pemprosesan selari dan panggilan tak segerak bagi permintaan dalam FastAPI FastAPI ialah rangka kerja Web Python berprestasi tinggi yang menyokong pemprosesan selari dan panggilan tak segerak, yang boleh membantu kami memproses permintaan dengan lebih cekap. Artikel ini akan memperkenalkan cara melaksanakan pemprosesan selari dan panggilan tak segerak permintaan dalam FastAPI, dan menyediakan contoh kod yang berkaitan. Pemprosesan permintaan selari Untuk melaksanakan pemprosesan permintaan selari dalam FastAPI, kita boleh menggunakan modul concurrent.futures Python untuk

See all articles