getsentry / getsentry/sentry-ruby

Expose on_rate_limit as part of the transport contract

Aperta
#2,239 0 commenti 0 reazioni 1 assegnatario Rivendicata da @sl0thentr0py Vedi su GitHub
Client Reports Improvement Ruby
Lingua principale
Ruby
Stelle
987
Fork
541
Merge medio
17h 40m
PR unite (30g)
19

Descrizione

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 override `send_data` there and do what you wish there
* I can expose a `on_rate_limit` hook in the transport class similar to `on_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_

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.