How can I debug Ably Queues and Queue rules?

Once your Ably Queue is provisioned, and your Queue rules are configured, there are a number of ways we recommend customers can debug the configured rules and queues. (If you can't connect to the queue to consume from it at all, have a look at Common errors when setting up queues instead).


1. Use the dev console to generate messages or events that match your queue rule. Go to the queue tab in your app dashboard and make sure that the messages ready count is increasing.

Tip: Note that the messages ready count won't increase if you have a client consuming messages from this queue. 


2. Install a command line tool for consuming messages using the AMQP protocol to check that messages published on channels (using the dev console or from any other source) are being pushed into the queues based on the queue rules.  


You can install Node AMQP Consume CLI with:


$ npm install amqp-consume-cli -g


Then you need to go to your app dashboard to retrieve an API key that has access to the queues (your root key will typically have access to subscribe to all queues).  Then check the server endpoint, vhost and queue name (which is always prefixed with a scope which is your appId) from the queue dashboard (see above) and issue a command such as:


amqp-consume --queue-name UATwBQ:example-queue --host --port 5671 --ssl --vhost shared --creds UATwBQ.Ndcq1w:[SECRET_REDACTED]


Whenever a message is published to the queue you are subscribing to, the amqp-consume tool will output the message details such as:


Message received
Attributes: { contentType: 'application/json',
headers: {},
deliveryMode: 1,
timestamp: 1485914937984 }
Data: {"id":"cOOo9g|108YY6nPAA3SrE56067277:10","source":"channel.message","channel":"foo","site":"eu-west-1-A","ruleId":"cOOo9g","timestamp":1485914937984,"messageId":"vjzxPR-XK3:3","messages":[{"id":"vjzxPR-XK3:3:0","name":"","connectionId":"vjzxPR-XK3","timestamp":1485914937909,"data":"asdasd"}]}