1 |
|
2 | noflo-runtime-msgflo
|
3 | ====================
|
4 |
|
5 | [NoFlo](https://noflojs.org) runtime, designed for use with [msgflo](https://github.com/the-grid/msgflo).
|
6 | Loads a NoFlo graph and registers it as a msgflo participant.
|
7 | The exported ports of the NoFlo network then becomes accessible through message queues
|
8 | ([AMQP](http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol) or [MQTT](http://en.wikipedia.org/wiki/MQTT)),
|
9 | and msgflo can coordinate how multiple such networks send data between eachother.
|
10 |
|
11 | Will eventually allow a single entry-point for
|
12 | [FBP runtime protocol](http://noflojs.org/documentation/protocol) clients (like [Flowhub](http://flowhub.io))
|
13 | to access NoFlo FBP networks that span multiple nodes.
|
14 |
|
15 |
|
16 | Usage
|
17 | ------
|
18 |
|
19 | Using the commandline tool
|
20 |
|
21 | noflo-runtime-msgflo --name myworker --graph project/WorkerGraph --broker amqp://foo.cloudamqp.com/bar
|
22 |
|
23 | Altenatively one can use the embedding API, see [src/mount.coffee](./src/mount.coffee)
|
24 |
|
25 | runtime = require 'noflo-runtime-msgflo'
|
26 | options =
|
27 | name: 'gssmeasure'
|
28 | graph: 'the-grid-api/PrecomputeGss',
|
29 | basedir: __dirname
|
30 | broker: config.amqp.url,
|
31 | rt = new runtime.mount.Mounter options
|
32 | rt.start (err, rt) ->
|
33 | # started
|
34 |
|
35 |
|
36 | TODO
|
37 | -----
|
38 |
|
39 | * Implement FBP protocol over msgflo transport
|