---
id: plugins-queues
title: "Queues"
summary: "The 4 plugins in Queues: Duplicate check, Priority queue, Queue writer and 1 more."
audience: user
keywords: "DeDuplicateFilter, PriorityQueue, QueueWriter, QueuePlugin"
---
# Queues

Decouple fast producers from slow consumers. The **Reqular queue** (FIFO or LIFO) and the **Priority queue** store records and return at once, then pass them on one by one in the background. A **Queue writer** adds records to a queue from another part of the same flow. The **Duplicate check** lets a record through only the first time its key is seen.

```text
Http listener → Duplicate check → Reqular queue → ... slow processing
```

## Plugins

| Plugin | What it does | Pins |
|---|---|---|
| [Duplicate check](/documentation/plugins/queues/de-duplicate-filter) | Passes a record to `Output` only the first time its key (the value of `FilterProperty`) is seen, optionally within a time window; repeats go to `Already exists`. Use it in front of anything that must not process the same item twice. | `Input`, `Output`, `Already exists` |
| [Priority queue](/documentation/plugins/queues/priority-queue) | Queue that emits records ordered by an integer priority property instead of arrival order. Input records are stored and the call returns at once; a background worker emits them one by one on `Output`. Optionally persistable and duplicate-filtering, like the Reqular queue. | `Input`, `Clear`, `Output`, `Already exists` |
| [Queue writer](/documentation/plugins/queues/queue-writer) | Producer for a queue of the same flow: adds each incoming record to a queue owned by a queue component (Reqular queue or Priority queue), then passes the record on. Use it to hand work from one part of a flow to the queue's consumer, or to feed one queue from several places. | `Input`, `Output` |
| [Reqular queue](/documentation/plugins/queues/queue-plugin) | FIFO or LIFO queue: input records are stored and the call returns at once; a background worker emits them one by one on `Output`. Use it to decouple a fast producer from slow processing, to serialize processing, or (persistable) to keep work across flow restarts. Optionally rejects duplicates. | `Input`, `Clear`, `Output`, `Already exists` |
