Skip to content
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

Enhancement: safe shutdown #12

Open
Shnitzelil opened this issue Oct 5, 2016 · 6 comments
Open

Enhancement: safe shutdown #12

Shnitzelil opened this issue Oct 5, 2016 · 6 comments

Comments

@Shnitzelil
Copy link

My current architecture is
Two Selenograph services behind hardware load balacner (checking the /ping API status code)

When I wish to restart one of the machines I would like to stop it gently...
my suggestion is to change the return status code from the /ping API to be 5xx or 4xx
Or to change the return value from ok to something else (like "shunting down" or whatever).
Once no new connection will arrive it will be fully shutdown.

Or any suggestion you have...

WDYT?

@vania-pooh
Copy link
Member

Seems to be a good idea. I think current implementation is here: https://github.com/seleniumkit/gridrouter/blob/master/proxy/src/main/java/ru/qatools/gridrouter/PingServlet.java because in fact Selenograph wraps GridRouter code and adds more features.

@Shnitzelil
Copy link
Author

@vania-pooh can the grid-router can work behind load-balancer like selenograph?

@vania-pooh
Copy link
Member

@Shnitzelil sure. The main difference is the absence of MongoDB, extended stats and UI. The main advantage - it's stateless.

@Shnitzelil
Copy link
Author

Should this be a different API not braking the Gridrouter API...
Or, should we push this enhancement to Gridrouter and selenograph will consume this once this change will be publish?

@vania-pooh
Copy link
Member

Summon @smecsia.

@smecsia
Copy link
Member

smecsia commented Oct 5, 2016

@Shnitzelil Yes, we need to change the Gridrouter code to affect Selenograph this way. Send a PR to Gridrouter repository and we'll rebuild Selenograph with the newer features.
I could also advice you to consider another solution. You can use nginx behind the selenograph nodes and configure it like this. This approach would allow you to reach the same result without Gridrouter code modification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants