Soren
Soren

Reputation: 14688

Why are my flows not connecting?

Just starting with noflo, I'm baffled as why I'm not able to get a simple flow working. I started today, installing noflo and core components following the example pages, and the canonical "Hello World" example

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

works... so far fine, then I wanted to change it slightly adding "noflo-rss" to the mix, and then changing the example to

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

Running like this

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

... but no cigar -- there is no output, it just sits there with no output at all

If I stick a console.log into the sourcecode of FetchFeed.coffee

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

then I do see the output and the content of the RSS feed.

Question: Why does out.send in rss/FetchFeed not feed the data to the core/Output for it to print? What dark magic makes the first example work, but not the second?

Upvotes: 0

Views: 85

Answers (1)

Jon Nordby
Jon Nordby

Reputation: 6259

When running with --batch the process will exit when the network has stopped, as determined by a non-zero number of open connections between nodes. The problem is that rss/FetchFeed does not open a connection on its outport, so the connection count drops to zero and the process exists.

One workaround is to run without --batch. Another one I just submitted as a pull request (needs review).

Upvotes: 1

Related Questions