feat: 去除sqlite加密能力以适配树莓派
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import queue
|
||||
import time
|
||||
import asyncio
|
||||
import websockets
|
||||
import json
|
||||
|
||||
|
||||
async def message_consumer(websocket, path):
|
||||
subscription = wxbot_instance.subscribe()
|
||||
while not websocket.closed:
|
||||
try:
|
||||
message = subscription.queue.get_nowait()
|
||||
subscription.lastRead = time.time()
|
||||
if message == None:
|
||||
await ws.close(code=1000)
|
||||
break
|
||||
await websocket.send(json.dumps(message))
|
||||
except queue.Empty:
|
||||
await asyncio.sleep(1)
|
||||
continue
|
||||
except WebSocketDisconnected:
|
||||
wxbot_instance.unsubscribe(subscription)
|
||||
subscription = None
|
||||
return
|
||||
except:
|
||||
wxbot_instance.unsubscribe(subscription)
|
||||
subscription = None
|
||||
await ws.close(code=1001)
|
||||
if subscription != None:
|
||||
wxbot_instance.unsubscribe()
|
||||
|
||||
|
||||
wxbot_instance = {"current": None}
|
||||
|
||||
|
||||
class MessageTransfer:
|
||||
def __init__(self, msg_queue):
|
||||
message_queue = msg_queue
|
||||
self.msg_queue = msg_queue
|
||||
|
||||
def consume_message():
|
||||
msg = msg_queue.get()
|
||||
for session in sessions:
|
||||
pass
|
||||
Reference in New Issue
Block a user