Guides

Relay Queues Tracking

The relay can sometimes get very busy as we scale. We will keep adding new relays to load and balance them out. This query is great for debugging to see the size of each queue if you ever see any delays in it being submitted on-chain.

This API call can sometimes take 10-20 seconds if you are not using the cache, as it has to speak to the defender, which is not fast. It will respond instantly if you are saved the cache. This data is cached for 5 minutes at a time.

If this fails due to Defender DB being unable to work it out, you can just retry. We do not suggest anyone to use this for any production code, it purely exists to get visibility for queues.

Invocation

const result = await client.transaction.relayQueues();
fragment RelayQueueResult on RelayQueueResult {
  key
  relay {
    ...NetworkAddress
  }
  queue
}

query RelayQueues {
  result: relayQueues {
    ...RelayQueueResult
  }
}

Response

RelayQueueResult