inconsistent checkout queue behavior

stevenikks
New Member
1 0 0

I've had customer reports of inconsistent behavior when they are placed in a checkout queue. The estimated time for when they will be able to leave the queue goes up and down often without any clear reasoning. I started looking into this, and I was able to see the same confusing status. I noticed that when polling the endpoint to check on queue status for your checkout, one of the fields in the GraphQl response is:

queueEtaSeconds

 
This is the field that tells users their estimated wait time (i.e. '1 minute', 'less than a minute'). 

Additionally there is a 'pollAfter' field which tells you when you can next poll the queue endpoint again.

Since I was able to replicate the inconsistent behavior, I decided to write a script to output these values and track a checkout queue event. I saw the following:

 

2021-07-27 12:01:35,567 [    INFO] need to keep waiting until we poll again. sleeping 29.896853 seconds. queueEtaSeconds: 88
2021-07-27 12:02:05,660 [    INFO] need to keep waiting until we poll again. sleeping 25.56759 seconds. queueEtaSeconds: 161
2021-07-27 12:02:31,434 [    INFO] need to keep waiting until we poll again. sleeping 21.821677 seconds. queueEtaSeconds: 136
2021-07-27 12:02:53,383 [    INFO] need to keep waiting until we poll again. sleeping 21.885587 seconds. queueEtaSeconds: 114
2021-07-27 12:03:15,412 [    INFO] need to keep waiting until we poll again. sleeping 29.881947 seconds. queueEtaSeconds: 92
2021-07-27 12:03:45,478 [    INFO] need to keep waiting until we poll again. sleeping 26.096181 seconds. queueEtaSeconds: 62
2021-07-27 12:04:11,693 [    INFO] need to keep waiting until we poll again. sleeping 23.090902 seconds. queueEtaSeconds: 143
2021-07-27 12:04:34,911 [    INFO] need to keep waiting until we poll again. sleeping 24.29488 seconds. queueEtaSeconds: 120
2021-07-27 12:04:59,359 [    INFO] need to keep waiting until we poll again. sleeping 24.66486 seconds. queueEtaSeconds: 95
2021-07-27 12:05:24,180 [    INFO] need to keep waiting until we poll again. sleeping 23.653797 seconds. queueEtaSeconds: 157
2021-07-27 12:05:47,954 [    INFO] need to keep waiting until we poll again. sleeping 24.494625 seconds. queueEtaSeconds: 133

 

After the last poll, where I was presented with an ETA of 133 seconds, I was then able to exit the queue upon the next poll and start checkout. This was despite the fact my next poll was only 24.4 seconds after being presented with the ETA of 133 seconds.

This brings up a few questions:

  1. Why does the queueEtaSeconds go up at various times? I can understand the queueEtaSeconds going down more than expected (i.e. if people leave the queue, and you move up in the queue).
  2. Does this suggest people are able to jump spots in line/backdoor the queue? If my ETA in the queue is increasing, the only explanation I can think of is other people are getting in front of me somehow.
  3. Or is the queue system not 'first in first out'? Is it random as to when you will be able to exit the queue, and therefore the ETA will go up as more people enter the queue, since now your odds of being one of the lucky few to go next decreases?

 

Please help clarify this setup you have for checkout queues.

0 Likes