Skip to content

Commit 1855e07

Browse files
committed
refine
1 parent 089d035 commit 1855e07

4 files changed

Lines changed: 26 additions & 16 deletions

File tree

src/bizyair/commands/processors/prompt_processor.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ def process(
137137
"last_node_id": last_node_id,
138138
}
139139
)
140+
# dict_keys(['139', '141', '142', '138', '143', '150'])
140141
return pre_prompt, str(last_node_id)
141142

142143
def validate_input(

src/bizyair/commands/servers/prompt_server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def execute(
7979
data = json.dumps({"prompt": prompt, "last_node_id": last_node_id}).encode(
8080
"utf-8"
8181
)
82+
8283
subscriber.prompt = prompt
8384
subscriber.last_node_id = last_node_id
8485
self.mediator.start_sse_client(

src/bizyair/commands/servers/pub_sub_sse.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

src/bizyair/nodes_base.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -145,15 +145,11 @@ def _merge_results(self, result: List[List[Any]], node_ios: List[BizyAirNodeIO])
145145

146146
def _should_pre_run(self):
147147
subscriber = BizyAirBaseNode.subscriber
148-
return (
149-
subscriber is not None
150-
and not subscriber.is_empty()
151-
and self.assigned_id in subscriber.prompt
152-
)
148+
return subscriber is not None and self.assigned_id in subscriber.prompt
153149

154-
def _pre_run(self):
150+
def _pre_run(self, timeout=86400):
155151
subscriber = BizyAirBaseNode.subscriber
156-
result = subscriber.get_result(self.assigned_id)
152+
result = subscriber.get_result(self.assigned_id, timeout=timeout)
157153
return decode_data(result)
158154

159155
def default_function(self, **kwargs):

0 commit comments

Comments
 (0)