Update to websockets

This commit is contained in:
Scott Idem
2022-11-02 16:09:04 -04:00
parent 785d0ea377
commit 49aabfe6f4
2 changed files with 13 additions and 9 deletions

View File

@@ -1,12 +1,12 @@
from fastapi import APIRouter, FastAPI, WebSocket, WebSocketDisconnect
from fastapi import APIRouter, FastAPI, Response, WebSocket, WebSocketDisconnect
from fastapi.responses import HTMLResponse
from typing import List
import aioredis, asyncio, json
from pydantic import BaseModel, EmailStr, Field
from typing import Dict, List, Optional, Set, Union
import aioredis, asyncio, datetime, hashlib, json, os, pathlib, shutil, time
from app.lib_general import *
from ..log import *
from app.lib_general import log, logging, common_route_params, Common_Route_Params, common_route_params_min, Common_Route_Params_Min
from app.config import settings
from app.db_sql import *
from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select, sql_delete, redis_lookup_id_random
router = APIRouter()
@@ -29,8 +29,9 @@ html = """
<script>
var client_id = Date.now()
document.querySelector("#ws-id").textContent = client_id;
//var ws = new WebSocket(`ws://localhost:5005/ws/${client_id}`);
var ws = new WebSocket("ws://localhost:8000/ws");
// var ws = new WebSocket(`ws://localhost:5005/ws/${client_id}`);
var ws = new WebSocket(`ws://localhost:5005/ws`);
//var ws = new WebSocket("ws://localhost:8000/ws");
//var ws = new WebSocket("ws://fastapi.localhost/ws");
ws.onmessage = function(event) {
var messages = document.getElementById('messages')
@@ -66,7 +67,9 @@ async def get(response: Response = Response):
async def websocket_endpoint(websocket: WebSocket, response: Response = Response):
log.setLevel(logging.DEBUG)
log.debug(locals())
log.info('Root of ws. Waiting to accept a websocket and then the redis_connector')
await websocket.accept()
await redis_connector(websocket)
@@ -105,7 +108,7 @@ async def redis_connector(
# TODO this needs handling better
log.error(exc)
redis = await aioredis.create_redis_pool(redis_uri)
redis = await aioredis.create_pool(redis_uri)
consumer_task = consumer_handler(websocket, redis)
producer_task = producer_handler(redis, websocket)