UNPKG

msgflo

Version:

Polyglot FBP runtime based on message queues

37 lines (29 loc) 1.21 kB
--- title: Non-MsgFlo-aware participants --- MsgFlo can work with existing code that uses a supported message-queues system (AMQP, MQTT). Because the code is not MsgFlo-aware, another process needs to send the MsgFlo discovery message on its behalf. For instance if we had a system that takes data on a queue named `process/A/in`, transforms it and then sends the results on queue `process/A/out`, the information can be declared in a [YAML](https://en.wikipedia.org/wiki/YAML) file: ```yaml # File: participants/ProcessSomething.yaml component: ProcessSomething label: Process input and send some output icon: ambulance inports: in: queue: process/A/in type: string outports: out: queue: process/A/out type: string ``` And then run `msgflo-register-foreign` to publish the information msgflo-register-foreign participants/ProcessSomething.yaml The `queue` key supports substituting `#ROLE`. This allows a single YAML file to declare a component which can be instantiated multiple times - each with a different role and queue name. Several real-life examples of foreign participant declaration can be found [in c-flo](https://github.com/c-base/c-flo/tree/master/participants).