Glossary · Automation software engineering and architecture
Event queue
Also known as: Message queue (in-process)
German: Ereigniswarteschlange
In software engineering, an event queue is a data structure in which events or messages are stored in order of arrival until a consumer processes them, decoupling the component that produces an event from the one that handles it.
- Software engineering
In one sentence
An event queue stores events in arrival order until a consumer processes them, decoupling producers from handlers.
Example
Alarm events from the machine modules are placed in an event queue and processed by the alarm manager, which timestamps, stores and displays them.
How it applies
- Engineering: Queues smooth bursts of events and let producers and consumers run at different rates or in different tasks. Decide on queue size, the behavior when the queue is full and whether events can be prioritized.
- Operation: Overflowing queues lose events, which can hide the root cause of a fault, for example in an alarm flood. Monitor queue fill levels and record overflows.
- Documentation: Document which events exist, their order guarantees, what happens when the queue is full and how long processing can take. For alarm systems, service documentation should explain what operators see when events are lost.
Event queue vs. message broker
An event queue often lives inside one program or device. A message broker, such as an MQTT broker, distributes messages between separate systems over a network and adds persistence, routing and subscriptions. Both support Event-driven architecture at different scales.