getsentry / getsentry/sentry-ruby

Expose on_rate_limit as part of the transport contract

Abierto
#2,239 0 comentarios 0 reacciones 1 asignado Reclamado por @sl0thentr0py Ver en GitHub
Client Reports Improvement Ruby
Lenguaje dominante
Ruby
Estrellas
987
Forks
541
Merge medio
17 h 40 min
PR fusionados (30 d)
19

Descripción

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_

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.