Understanding why a webhook sleeps

Webhook sleep occurs when errors occur contacting a given webhook endpoint.

Previously, there was a fixed maximum rate for a given server URL, and it needed to be manually increased if the load exceeded that rate.

Now, the rate can go as high as necessary, subject to throttling because of errors. Once a given host URL starts throwing errors, a cool-down period is attempted, throttling the rate of requests to that webhook. When your webhook is throttled, that’s what’s marked as sleep. Those events are not retried later, as that would just exacerbate an overloading situation.

The problem should resolve itself in a few minutes as rolling averages are used to calculate throttling. And it’s not specifically for your webhook; it’s determined by host URL. Of course it’s also possible that things unrelated to load could cause errors, so the method is not perfect, but it appears to be more effective than the old fixed rate limit.

3 Likes