Event pipelineΒΆ

The following bootstrap file uses the wishbone.module.testevent.TestEvent module to generate a message every second. To provide the content of the message is uses the lookup module wishbone.lookup.random_word.RandomWord to generate the content of the message.

The generated event is then passed onto the flow module wishbone.module.roundrobin.RoundRobin which “roundrobins” the event over 2 wishbone.module.stdout.STDOUT output modules which print the incoming event to STDOUT.

../../_images/intro.png
lookups:
  randomword:
    module: wishbone.lookup.randomword
    arguments:
      interval: 1

modules:
  input:
    module: wishbone.input.testevent
    description: I generate a random word.
    arguments:
      message: ~~randomword()

  mixing:
    module: wishbone.flow.roundrobin
    description: I roundrobin incoming messages

  output1:
    module: wishbone.output.stdout
    description: I write incoming messages to stdout.
    arguments:
      prefix: "I am output #1: "

  output2:
    module: wishbone.output.stdout
    description: I write incoming messages to stdout.
    arguments:
      prefix: "I am output #2: "

routingtable:
  - input.outbox  -> mixing.inbox
  - mixing.one    -> output1.inbox
  - mixing.two    -> output2.inbox

The server can be bootstrapped on CLI by issuing following command:

$ wishbone debug --config bootstrap.yaml