-
-
Notifications
You must be signed in to change notification settings - Fork 414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE REQUEST] Customization of behavior when rr is unable to allocate worker #471
[FEATURE REQUEST] Customization of behavior when rr is unable to allocate worker #471
Comments
👋 @jjsaunier |
Indeed, i'm only experiencing the issue with Thanks for the quick solution, unfortunately traefik (which I'm using) does not support retry based on status code at this time... (I hope a day it will!) So currently my trick to let traefik retrying, I close the connection without responding : hj, ok := w.(http.Hijacker)
if !ok {
http.Error(w, "", http.StatusGatewayTimeout)
return
}
conn, _, err := hj.Hijack()
conn.Close() |
@jjsaunier #472 |
You rocks @48d90782! 🥇 I left comment on pr |
I believe we will need to add the same thing for RR2 down the road. |
👋 @48d90782
follow up after discord discussion
Goal : Distinct error from worker allocation to be able to retry on another rr instance at load balancer level.
Current State : When rr is not able to allocate a worker, it's send a 500, which is not the best option because application that rr serve could also send 500 HTTP code.
IHMO, rr should give the possibilty to the user to:
With this 3 possibilities I think we good, if you see / have another use case, don't hesitate
https://github.com/spiral/roadrunner/blob/5dc83ef5eee77f4d1ef557e5f8b566e75892680d/service/http/handler.go#L134-L151
The text was updated successfully, but these errors were encountered: