处理收件箱中的消息。 对应 Reference: EP08 §1 Worker 的生命周期:接收任务 → 执行 → 汇报
(self)
| 289 | return f"Task completed: {task[:50]}" |
| 290 | |
| 291 | def process_messages(self): |
| 292 | """ |
| 293 | 处理收件箱中的消息。 |
| 294 | |
| 295 | 对应 Reference: EP08 §1 |
| 296 | Worker 的生命周期:接收任务 → 执行 → 汇报 |
| 297 | """ |
| 298 | messages = self.mailbox.receive(self.identity.name) |
| 299 | results = [] |
| 300 | |
| 301 | for msg in messages: |
| 302 | if msg.msg_type == MessageType.TASK: |
| 303 | print(f" [{self.identity.name}] 收到任务: " |
| 304 | f"{msg.content[:40]}...") |
| 305 | # 执行任务 |
| 306 | result = self.executor(msg.content) |
| 307 | print(f" [{self.identity.name}] 完成: {result[:40]}...") |
| 308 | |
| 309 | # 发送结果给 Leader |
| 310 | self.mailbox.send(AgentMessage( |
| 311 | from_agent=self.identity.name, |
| 312 | to_agent=msg.from_agent, |
| 313 | msg_type=MessageType.RESULT, |
| 314 | content=result, |
| 315 | )) |
| 316 | results.append(result) |
| 317 | |
| 318 | elif msg.msg_type == MessageType.SHUTDOWN: |
| 319 | print(f" [{self.identity.name}] 收到关闭请求,退出") |
| 320 | return "shutdown" |
| 321 | |
| 322 | return results |
| 323 | |
| 324 | |
| 325 | # ============================================================ |
no test coverage detected