read / write
Rate limits for task dispatches.
rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways:
- rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry).
- retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc).
The queue's actual dispatch rate is the result of:
- Number of tasks in the queue
- User-specified throttling: rate_limits, retry_config, and the queue's state.
- System throttling due to
429(Too Many Requests) or
503(Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes.