I ran into a “OnlineDB request failed with: Too Many Requests” error. What steps can I take to mitigate this issue?
My first suggestion would be to make sure you are on RVM 4.77+. There were OnlineDB
optimizations and automatic retry logic introduced in 4.77.
My second suggestion would be to open the network console in the chrome dev tools to identify where OnlineDB
calls might be made in the view where you hit this limit. There may be additional OnlineDB
calls in the view that are not obvious. For example, any belongs-to
relationships called on an object that was queried using OnlineDB
will be an additional call. This may cause problems if you have, for example, an object table that is populated with an OnlineDB
query and displays many belongs-to
relationships in the table as each of those belongs-to
columns for each row will be an additional OnlineDB
call. To optimize your code to avoid hitting the rate limit, you could:
- Use .include()
- Check if there is a way to reduce the number of queries required to do the work
- Add a small delay between queries
- Add retries with a delay when encountering this error
If you continue to run into these issues after reviewing these suggestions, you can request an increase in rate limits. Please provide us the following information to do so:
- App & Deployments
- The expected number of requests (individual network requests) the app would make in the worst case scenario (e.g. 200 requests when view X is opened)
- How often that is expected to happen (e.g. every time the user presses button Y, which could happen every 10 seconds, for a duration of Z minutes)
Read more about API Limits in our documentation here.