@@ -99,16 +99,18 @@ def connect():
9999 sse_client = SSEClient (response )
100100 for event in sse_client .events ():
101101 data = json .loads (event .data )
102- import pprint
103-
104- pprint .pprint (truncate_long_strings (data ))
102+ # import pprint
103+ # pprint.pprint(truncate_long_strings(data))
105104 self .publish (data , subscriber = subscriber )
106105 except Exception as e :
107106 print (f"Error connecting to { url } : { e } " )
108107 finally :
109108 print (f"SSE client for { subscriber .name } disconnected" )
110109 self .publish (self .STOP_SIGNAL , subscriber = subscriber )
111110
111+ import pdb
112+
113+ pdb .set_trace ()
112114 self .executor .submit (connect )
113115
114116
@@ -119,14 +121,21 @@ def __init__(self, name, mediator):
119121 self .messages = queue .Queue ()
120122 self .is_subscribed = True # 订阅状态监测
121123 self .tmp_result = {}
124+ self .prompt = {}
122125
123126 def receive (self , message ):
124127 self .messages .put (message )
125128
126- def is_empty (self ):
127- return self .messages .empty ()
129+ def is_active (self , node_id ):
130+ if node_id not in self .prompt :
131+ return False
132+ return (
133+ self .is_subscribed
134+ or not self .messages .empty ()
135+ or node_id in self .tmp_result
136+ )
128137
129- def pop (self , timeout = 5 ):
138+ def pop (self , timeout = 86400 ):
130139 try :
131140 if self .is_subscribed or not self .messages .empty ():
132141 return self .messages .get (timeout = timeout )
@@ -140,16 +149,19 @@ def unsubscribe(self):
140149 self .mediator .unsubscribe (self )
141150 self .is_subscribed = False # 更新订阅状态为未订阅
142151
143- def get_result (self , node_id , timeout = 12 ):
152+ def get_result (self , node_id , timeout = 86400 ):
144153 while True :
145154 if node_id in self .tmp_result :
146155 out = self .tmp_result [node_id ]
147156 del self .tmp_result [node_id ]
148157 return out
149158
150159 result = self .pop (timeout = timeout )
151- if result is None :
152- return None
160+ import pprint
161+
162+ print (f"{ node_id = } " )
163+ pprint .pprint (truncate_long_strings (result ))
164+
153165 try :
154166 if (
155167 "message" in result
0 commit comments