|
from fastapi import FastAPI, WebSocket |
|
|
|
app = FastAPI() |
|
worker_ws = None |
|
client_ws = None |
|
|
|
|
|
@app.websocket("/ws") |
|
async def websocket_endpoint(websocket: WebSocket): |
|
global client_ws |
|
await websocket.accept() |
|
client_ws = websocket |
|
while True: |
|
data = await websocket.receive_json() |
|
if type(worker_ws) is WebSocket: |
|
await worker_ws.send_json(data) |
|
else: |
|
await websocket.send_text(f"Worker is sleeping now!") |
|
|
|
|
|
@app.websocket("/worker/ws") |
|
async def websocket_endpoint(websocket: WebSocket): |
|
global worker_ws |
|
await websocket.accept() |
|
worker_ws = websocket |
|
while True: |
|
data = await websocket.receive_json() |
|
if type(client_ws) is WebSocket: |
|
await client_ws.send_json(data) |
|
else: |
|
await websocket.send_text(f"Client is sleeping now!") |
|
|
|
|