为什么我的流程没有连接?

Why are my flows not connecting?

刚开始使用 noflo,我很困惑为什么我无法让简单的流程正常工作。我今天开始,按照示例页面安装 noflo 和核心组件,以及规范 "Hello World" 示例

Read(filesystem/ReadFile) OUT -> IN Display(core/Output)
'package.json' -> IN Read

工作...到目前为止很好,然后我想稍微改变它,将 "noflo-rss" 添加到混音中,然后将示例更改为

Read(rss/FetchFeed) OUT -> IN Display(core/Output)
'http://xkcd.com/rss.xml' -> IN Read

运行 像这样

$ /node_modules/.bin/noflo-nodejs --graph graphs/rss.fbp --batch --register=false --debug

...但是没有雪茄 -- 没有输出,它只是坐在那里,根本没有输出

如果我将 console.log 粘贴到 FetchFeed.coffee

的源代码中
parser.on 'readable', ->
  while item = @read()
    console.log 'ITEM', item  ## Hack the code here
    out.send item

然后我确实看到了 RSS 提要的输出和内容。

问题:为什么rss/FetchFeed中的out.send不将数据提供给core/Output打印?是什么黑魔法使第一个示例有效,但第二个示例无效?

当 运行 --batch 时,进程将在网络停止时退出,这由节点之间的非零打开连接数决定。 问题是 rss/FetchFeed 没有在其输出端口上打开连接,因此连接计数降为零并且进程存在。

一种解决方法是 运行 不使用 --batch。我刚刚提交的另一个 pull request(需要审核)。