sogou / workflow

C++ Parallel Computing and Asynchronous Networking Framework
Apache License 2.0
13.07k stars 2.41k forks source link

DAG节点之间的与或非逻辑 #1628

Open hardxuyp opened 3 weeks ago

hardxuyp commented 3 weeks ago

请问sogou workflow支持DAG节点之间的与或非逻辑吗?用来构建复杂是任务流

如果不支持,开发者一般怎么做?

Barenboim commented 3 weeks ago

你好。我们的DAG(WFGraphTask)主要是用于定义结点之间运行的依赖关系,任何workflow里的任务都可以成为DAG的节点。

但是,我们的任务并没有定义统一的输入输出,所以,也没有办法对结果进行逻辑运算。比如,一个http任务就可以是DAG的一个节点。但http的结果没有办法定义逻辑运算。

你的需求是不是需要一些条件任务什么的?

hardxuyp commented 3 weeks ago

对的,比如前序任务失败,后续任务就不执行。sogou的框架支持吗?

Barenboim commented 3 weeks ago

我们的series支持cancel的。如果在WFGraphTask里,对节点任务的series进行cancel,会直接取消所有的后继节点。这个功能在0.11.5之后就支持了。一般在节点任务的callback里调用: series_of(task)->cancel(); 你可以试一下能不能满足需求。

---原始邮件--- 发件人: @.> 发送时间: 2024年10月3日(周四) 下午4:20 收件人: @.>; 抄送: @.**@.>; 主题: Re: [sogou/workflow] DAG节点之间的与或非逻辑 (Issue #1628)

对的,比如前序任务失败,后续任务就不执行。sogou的框架支持吗?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

Barenboim commented 2 weeks ago

@hardxuyp 麻烦看一下是否能解决你的问题。