标准Task模型
This commit is contained in:
42
message.py
Normal file
42
message.py
Normal file
@@ -0,0 +1,42 @@
|
||||
'''
|
||||
0. 消息模型
|
||||
1. 消息盒子(储存消息)
|
||||
2. 消息信道(收发消息)
|
||||
'''
|
||||
|
||||
from pydantic import BaseModel
|
||||
from datetime import datetime
|
||||
|
||||
class Message(BaseModel):
|
||||
id: str # 消息ID(可基于此更新消息)
|
||||
type: str # 消息类型(可基于此分发消息)
|
||||
data: dict # 消息数据(用于展示的消息主体)
|
||||
date: datetime=datetime.now() # 时间(消息被创建的时间)
|
||||
|
||||
class MessageBox:
|
||||
def __init__(self, sender, receiver, content):
|
||||
self.sender = sender
|
||||
self.receiver = receiver
|
||||
self.content = content
|
||||
|
||||
def send(self):
|
||||
self.receiver.receive(self)
|
||||
|
||||
def __str__(self):
|
||||
return 'From: %s' % self.sender
|
||||
|
||||
class MessageChannel:
|
||||
pass
|
||||
|
||||
|
||||
#def watch(self, websocket: WebSocket, task: Task):
|
||||
# await websocket.accept()
|
||||
# # 将websocket连接加入到任务的观察者列表中
|
||||
# task.add_observer(websocket)
|
||||
# await websocket.send_text(f"Task {task.id} is being watched")
|
||||
# # 从websocket连接中读取消息
|
||||
# await websocket.receive_text()
|
||||
# # 将websocket连接从任务的观察者列表中移除
|
||||
# task.remove_observer(websocket)
|
||||
# await websocket.send_text(f"Task {task.id} is no longer being watched")
|
||||
# await websocket.close()
|
Reference in New Issue
Block a user