sentry-ruby
sentry-ruby copied to clipboard
Expose on_rate_limit as part of the transport contract
I see, thanks for the explanation of your use case. So a few points
- we never do a retry ever on our side, a dropped event is a dropped event
- the server's rate limiting is merely interpreted as 'stop doing stuff for a while'
- technically it is breaking yes, but this is considered internal to the http transport implementation and not really part of the API contract
That said, there are a couple of options for you now
- make your own transport deriving from
Sentry::HTTPTransport
and overridesend_data
there and do what you wish there - I can expose a
on_rate_limit
hook in the transport class similar toon_error
to make that easier so you just need to define that one method to retry
does that work?
Originally posted by @sl0thentr0py in https://github.com/getsentry/sentry-ruby/pull/2216#discussion_r1472958970