> OctoPerf load testing - Queues documentation page. Queues allow storage of values to pass between different groups of users.

Source: https://api.octoperf.com/doc/design/edit-virtual-user/action-types/logic-actions/queue/

# Queues

Queues allow you to exchange values between virtual users. Unlike other types of variables:

- [Variables](https://api.octoperf.com/doc/design/edit-virtual-user/configuration/variables/) stored in the local memory of each virtual user,
- [Properties](https://api.octoperf.com/doc/design/edit-virtual-user/functions/#properties) stored in the local memory of each load generator.

Queues exists outside of load generators and virtual users, allowing you to share values between any virtual user involved in your test.

!!! Info
    Queues have been added in OctoPerf 13.1. Before it was only possible through a [third party queueing system](https://octoperf.com/blog/2020/05/27/variables-mq/).

## Put

![put](https://api.octoperf.com/doc/design/edit-virtual-user/action-types/logic-actions/img/put.png){ align=left }

| Name       | Description                                                  |
| ---------- | ------------------------------------------------------------ |
| Queue name | Name of the queue to write into.                             |
| Value      | Value to write in the queue. Must be a single value, not a table. |
| Retries    | Number of retries before skipping.                           |

<div style="clear:both"></div>

!!! warning
    A queue can be accessed by anyone using its name. Make sure to avoid placing confidential values in a queue when you are on a shared OctoPerf server or at least use a complex name to reduce the risks.

## Poll

![poll](https://api.octoperf.com/doc/design/edit-virtual-user/action-types/logic-actions/img/poll.png){ align=left }

| Name          | Description                                             |
| ------------- | ------------------------------------------------------- |
| Queue name    | Name of the queue to read from.                         |
| Variable name | Name of the variable in which the value will be placed. |
| Retries       | Number of retries before skipping.                      |

<div style="clear:both"></div>

!!! warning
    Polling a value will remove it from the queue. If you need to consistently use the same value, consider the [property action](https://api.octoperf.com/doc/design/edit-virtual-user/action-types/logic-actions/set-runtime-property-action/) instead.

## Limitations

The total number of values inside a queue is limited to 5000.

Queues are tied to a test, meaning they only exist for the test duration.
