Skip to content

Latest commit

 

History

History
45 lines (36 loc) · 3.78 KB

flow.rst

File metadata and controls

45 lines (36 loc) · 3.78 KB

Flow

Note

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