Message queues are provided to customers as part of our Ably Reactor service. You can provision one or more queues for your app, however by default each new app is provisioned without any queues.  Once a queue is configured, you will need to set up a queue rule that enables messages to be republished from pub/sub channels into a physical queue. Find out how to set up a queue rule.

Follow these steps to set up a physical queue:

1. Visit your app dashboard

2. Click on the Queues tab and click "Provision a new Queue" 

3. Configure your queue

Unlike pub/sub channels which are global and provisioned on demand (when a client subscribes to the channel or publishes to a channel), queues are pre-provisioned and exist in one region.  You must select the Region you want your queue to exist in.

Please note that based on your account type, certain restrictions will apply to your queue such as the max message size or max TTL (how long your messages are stored for). See a complete list of account limits

4. Confirm your queue is provisioned

Once you have created your queue, your new queue should appear in the Queues tab along with realtime metrics for your queue. Your queue tab should appear like below:

You will additionally see that a dead letter queue will have automatically been provisioned for you.  A dead letter queue is used to store messages that failed to be consumed, passed their TTL or were discarded due to a queue being full. See the queue dead letter documentation for more info.

That's it, you're all done.  However, it is very rarely ever useful to provision a queue without a queue rule so that messages from pub/sub channels are published into your queue.  Find out how to set up a queue rule.

If you are having problems with your queue, see some tips on how to debug the problem.