Limits
Feature | Limit |
---|---|
Queues | 10,000 per account |
Message size | 128 KB 1 |
Message retries | 100 |
Maximum consumer batch size | 100 messages |
Maximum messages per sendBatch call | 100 (or 256KB in total) |
Maximum Batch wait time | 60 seconds |
Per-queue message throughput | 5,000 messages per second 2 |
Message retention period 3 | 4 days (96 hours) |
Per-queue backlog size 4 | 25GB |
Concurrent consumer invocations | 250 push-based only |
Consumer duration (wall clock time) | 15 minutes 5 |
Consumer CPU time | 30 seconds |
visibilityTimeout (pull-based queues) | 12 hours |
delaySeconds (when sending or retrying) | 12 hours |
Requests to the Queues API (incl. pulls/acks) | 1200 requests / 5 mins |
1 1 KB is measured as 1000 bytes. Messages can include up to ~100 bytes of internal metadata that counts towards total message limits.
2 Exceeding the maximum message throughput will cause the send()
and sendBatch()
methods to throw an exception with a Too Many Requests
error until your producer falls below the limit.
3 Messages in a queue that reach the maximum message retention are deleted from the queue. Queues does not delete messages in the same queue that have not reached this limit.
4 Individual queues that reach this limit will receive a Storage Limit Exceeded
error when calling send()
or sendBatch()
on the queue.
5 Refer to Workers limits.