File size: 856 Bytes
ad5c97c
01eda67
 
ad5c97c
 
 
 
 
 
 
 
 
 
1062c1e
ad5c97c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
01eda67
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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!")