首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让faust代理等待其他代理完成

让faust代理等待其他代理完成
EN

Stack Overflow用户
提问于 2020-01-10 18:57:08
回答 1查看 171关注 0票数 1

有没有办法让faust代理在其他代理完成时运行?例如

代码语言:javascript
复制
       Agent1
       +
       |
       |
       |
Agent2 +------------->Agent_final
       |
       |
       |
       +
       Agent3

Agent_final应在所有Agent1,Agent2,Agent3完成后启动。并且Agent_final应该可以访问所有3个代理的输出。在文档中找不到这种常见的方法。

EN

回答 1

Stack Overflow用户

发布于 2020-01-11 00:53:48

你可以做几件事。你可以让它变得更线性:

代码语言:javascript
复制
A1 -> A2 -> A3 -> AF

或者你可以让AF做个连接。我这样做的方式是:

  • 让父代理都写入同一主题,因此在这种情况下,(A1,A2,A3)将全部写入agent_final's_topic
  • agent_final保留了一个看起来像{id: {A1: x, A2: y, A3: z}}的表。xyz要么为None,要么是父代理produce.
  • When agent_final读取消息的任何内容,它将检查表中的id,将值添加到正确的字段(对应于消息来自的代理)
  • 如果所有3个字段都不是None,则所有三个贡献代理都已完成,因此您现在可以执行final_agent计划执行的任何操作。
  • 如果有任何缺少的字段,您可以将更新后的dict保存回表中然后移动到下一条消息,不做其他任何事情。

无耻的插头:

我做了一个库来做这种处理(githubpypi)。将所有依赖项消息汇聚到一个主题中,编写一个键、合并和充分性函数,并遵循自述文件中的说明使用它来阻止处理,直到多个上游代理完成它们的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59680310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档