File size: 879 Bytes
17d0a32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from crazy_functions.agent_fns.pipe import PluginMultiprocessManager, PipeCom

class EchoDemo(PluginMultiprocessManager):
    def subprocess_worker(self, child_conn):
        # ⭐⭐ 子进程
        self.child_conn = child_conn
        while True:
            msg = self.child_conn.recv() # PipeCom
            if msg.cmd == "user_input":
                # wait futher user input
                self.child_conn.send(PipeCom("show", msg.content))
                wait_success = self.subprocess_worker_wait_user_feedback(wait_msg="我准备好处理下一个问题了.")
                if not wait_success:
                    # wait timeout, terminate this subprocess_worker
                    break
            elif msg.cmd == "terminate":
                self.child_conn.send(PipeCom("done", ""))
                break
        print('[debug] subprocess_worker terminated')