From 5fb90c5c6c3771f174b3bd3ebb5f6b8a31ebcb14 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 18 Feb 2021 05:53:29 -0500 Subject: [PATCH] wip python server; I'll need async redis --- server.py | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/server.py b/server.py index f0f1aa9..ad85cd2 100644 --- a/server.py +++ b/server.py @@ -1,3 +1,52 @@ #!/usr/bin/env python3 -print('testing on windowz, no idea how that works') +import asyncio +import redis +import sys +import websockets + +#redis_client = redis.Redis(host='localhost', port=6379, db=0) + +pool = redis.ConnectionPool(host='localhost', port=6379, password='', db=0) +redis_pool = redis.StrictRedis(connection_pool=pool) +#redis_connection = redis_pool.redis_connect() + +#pubsub = redis_connection.pubsub() +pubsub = redis_pool.pubsub() +pubsub.subscribe('testing') +pubsub.subscribe('foo') + +#for message in pubsub.listen(): +# if message['data'] == 'exit': +# sys.exit() +# print(message) + + +""" +async def hello(websocket, path): + name = await websocket.recv() + print(f"< {name}") + + greeting = f"Hello {name}!" + + await websocket.send(greeting) + print(f"> {greeting}") + +start_server = websockets.serve(hello, "localhost", 8765) + +asyncio.get_event_loop().run_until_complete(start_server) +asyncio.get_event_loop().run_forever() +""" + +async def time(websocket, path): + while True: + now = datetime.datetime.utcnow().isoformat() + "Z" + await websocket.send(now) + await asyncio.sleep(random.random() * 3) + +start_server = websockets.serve(time, "127.0.0.1", 5678) + +asyncio.get_event_loop().run_until_complete(start_server) +asyncio.get_event_loop().run_forever() + +