Wishbone

A Python framework to build event pipeline servers with minimal effort.

https://github.com/smetj/wishbone

Bootstrap a server

Wishbone servers are started with bootstrap file:

$ wishbone start --config eventprocessor.yaml

Bootstrap files define the modules to initialize and how these should be connected to each other:

_images/intro.png
---
modules:
  input:
    module: wishbone.input.testevent
    arguments:
      message: test

  mixing:
    module: wishbone.flow.roundrobin

  output1:
    module: wishbone.output.stdout
    arguments:
      prefix: "I am number one: "

  output2:
    module: wishbone.output.stdout
    arguments:
      prefix: "I am number two: "

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

Running a server:

[smetj@dev-container ~]$ wishbone debug --config simple.yaml
2014-08-06T23:17:41 wishbone[6609]: debug metrics_funnel: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug metrics_funnel: preHook() found, executing
2014-08-06T23:17:41 wishbone[6609]: debug logs_funnel: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug logs_funnel: preHook() found, executing
2014-08-06T23:17:41 wishbone[6609]: debug mixing: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug mixing: preHook() found, executing
2014-08-06T23:17:41 wishbone[6609]: debug input: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug input: preHook() found, executing
2014-08-06T23:17:41 wishbone[6609]: debug output1: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug output2: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug log_stdout: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug log_format: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug syslog: Started with max queue size of 100 events and metrics interval of 1 seconds.
2014-08-06T23:17:41 wishbone[6609]: debug syslog: preHook() found, executing
I am number one: test
I am number two: test
I am number one: test
I am number two: test
I am number one: test
I am number two: test
I am number one: test
^C2014-08-06T23:18:09 wishbone[6609]: debug syslog: postHook() found, executing
2014-08-06T23:18:09 wishbone[6609]: debug syslog: postHook() found, executing
2014-08-06T23:18:09 wishbone[6609]: informational input: Stopped producing events.
[smetj@dev-container ~]$

Contents:

Indices and tables