ironMQ Push queue response

205 Views Asked by At

I searched a lot but couldn't found any description on properties of responses that are being sent by REST API (http://dev.iron.io/mq/reference/api/#responses) Almost all properties of responses are self explanatory but some properties needs to be described. Let me mention some of them;

  • In response of GET /projects/{Project ID}/queues/{Queue Name}/messages/{Message ID}/subscribers request, what is property ID? (this is not message ID as I have checked it. In case of uni-cast push queue it is the same number as message_id+1)
  • In response of GET /projects/{Project ID}/queues/{Queue Name}/messages/{Message ID} request, what is property reserved_count?
  • In response of GET /projects/{Project ID}/queues/{Queue Name} request, what is property size? (It looks to be queue size from its value but again what is queue size? Queue Size on my Dashboard always displays zero)
  • As per my understanding if a message is retrying 2nd or 3rd time its retries_remaining should be equal to retries_total - number of retries attempts. But this is not case. Every time I have seen that retries_remaining is not changing. What are the cases in which retries_remaining will change?
  • After the message is tried retries_total number of times, message status should be changed to error but it remains retrying. why?
  • Is there any log of message routing? means, if a message is first send to subscriber 1 but not received 200 in response. The same message will be then send to other subscriber say subscriber 2.
1

There are 1 best solutions below

0
On BEST ANSWER
  • In response of GET /projects/{Project ID}/queues/{Queue Name}/messages/{Message ID}/subscribers request, the property ID is the subscriber ID
  • In response of GET /projects/{Project ID}/queues/{Queue Name}/messages/{Message ID} request, the property reserved_count shows how many times the message have been reserved. After reservation if the timeout had been expired, the message would be placed back onto queue and the reserved_count would be increased.
  • In push queues (in contrast to pull queues) the messages are not stored in the queue. That's why the size of any push queue is always zero.
  • After the message is tried retries_total number of times the message status always changes to error. I think you had checked the status before the message was tried retries_total number of times. There is also the retries_delay between retries, default value is 60 seconds.
  • Unfortunately now the routing log is not available, maybe in future will. You can use an errorqueue. It is the name of another queue where information about messages that can't be delivered after retrying retries number of times will be placed. For detailed information navigate to http://dev.iron.io/mq/reference/push_queues/#error_queues