3 posts · rss

Throttling and Rate Limits

What happens when Microsoft 365 says 429: smart retry logic that is not just retrying everything, Retry-After, and testing your limits before production does.

Sooner or later Microsoft 365 tells you to slow down, and what your code does next decides whether users notice.

The naive answer is to retry everything, which turns one throttled batch into a second throttled batch. The better answer is to look at what actually failed, respect Retry-After rather than inventing your own backoff, and accept that some failures in a batch are permanent and retrying them is pure waste.

The posts here cover that retry logic, and testing it, which is the part most people skip. You cannot wait for production to throttle you before finding out whether your handler works. That is what Dev Proxy is for.