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

时间:2016-10-04 01:16:43

标签: noflo

刚开始使用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以便打印?什么黑魔法使第一个例子起作用,但不是第二个?

1 个答案:

答案 0 :(得分:1)

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

一种解决方法是在没有--batch的情况下运行。另一个我刚刚提交的pull request(需要审核)。