Flow modules apply logic of some sort to decide which queue to submit the event to without altering the event’s payload.

Flow modules select the outgoing queue to which incoming events are submitted based on certain conditions. For example, Wishbone queues can only be connected 1 queue.

If you need a 1-to-many or a many-to-1 queue connection then you can use the wishbone.module.fanout.Fanout or wishbone.module.funnel.Funnel respectively.

Some of the characteristics of flow modules are:

  • They do not alter the content of events flowing through except optionally setting some contextual data.

The builtin flow modules are:

Name Description
wishbone.module.flow.acknowledge Forwards or drops events by acknowleding values.
wishbone.module.flow.count Pass or drop events based on the number of times an event value occurs.
wishbone.module.flow.fanout Forward each incoming message to all connected queues.
wishbone.module.fresh.Fresh Generates a new event unless an event came through in the last x time.
wishbone.module.funnel.Funnel Funnel multiple incoming queues to 1 outgoing queue.
wishbone.module.flow.queueselect Submits message to the queue defined by a rendered template.
wishbone.module.flow.roundrobin Round-robins incoming events to all connected queues.
wishbone.module.flow.switch Switch outgoing queues while forwarding events.