ShiningRush / fastflow

A lightweight, high-performance distributed workflow framework
MIT License
348 stars 80 forks source link

请问Task的父亲依赖节点DependOn的最大数量是多少? #42

Open etherealiy opened 12 months ago

etherealiy commented 12 months ago

RT,测试了某个dag中某个Task的DependOn的长度为10000,即前向依赖于10000个任务节点,每个任务节点的Action是简单的print,但是执行到该节点(timeout设置为3600)时就卡住了,该task的状态一直维持为init。

ShiningRush commented 12 months ago

代码设计中其实没有数量限制,fastflow会事前在内存中构建一个Dag树,Task执行时会检查DependOn列表中这些前置Task的状态,如果都通过了才能执行。 如果你的Task一直为init,有没有检查过它的父任务是否都成功了呢

etherealiy commented 12 months ago

我的图中有且只有一个终止节点(图的最大深度为13,最大宽度为1000),终止节点的状态为success,然而dagIns的状态一直维持在running,是因为图比较大,一直卡在dfsWalk吗?

ShiningRush commented 12 months ago

内存的walk是很快的,不应该卡这么久才对,要么是前置节点没完成,要么是有预期外的bug,这个是必现的吗

etherealiy commented 12 months ago

我看mongodb中所有节点的状态都为success了。这是bug吗,或者是否会跟workercnt(parser)的数量设置有关?

ShiningRush commented 11 months ago

我看mongodb中所有节点的状态都为success了。这是bug吗,或者是否会跟workercnt(parser)的数量设置有关?

如果状态跟你描述的一样的话,它应该是个bug,如果是必现的话,我可以在本地复现看看