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

Doesn't finish ongoing requests on reload #6

Closed
ManuelAmadorAditazz opened this issue Mar 22, 2013 · 3 comments
Closed

Doesn't finish ongoing requests on reload #6

ManuelAmadorAditazz opened this issue Mar 22, 2013 · 3 comments

Comments

@ManuelAmadorAditazz
Copy link

Unlike http://code.google.com/p/jra-go/source/browse/cmd/upgradable/main.go, the parent process doesn't actually stop listening or wait until it's done handling all requests, before it dies. This is because the child kills the parent and the parent exits unconditionally. This causes loss of requests.

@ManuelAmadorAditazz
Copy link
Author

We have made significant progress with goagain, significant enough that I can say:

  • We will be done adding UNIX socket support to it very soon.
  • We have made the program linger after being signaled and forking its child, processing any slow ongoing requests, but not accepting new ones (in turn, delegating the accept of new connections to the child)
  • We have eliminated the issue whereby the child would kill the parent, aborting ongoing requests

We hope to submit code upstream soon.

@rcrowley
Copy link
Owner

This is great, @ManuelAmadorAditazz! I've been of the opinion that the caller of goagain.AwaitSignals had the opportunity to do his cleanup after that call returns but a default strategy of "just give it time" would cover the common case well.

@ManuelAmadorAditazz
Copy link
Author

I am glad that you like the code that I wrote. If you would consider
merging it what would I have to do to clean it up?

Also how do we support both Unix and TCP sockets?
On Mar 25, 2013 8:54 PM, "Richard Crowley" notifications@github.com wrote:

This is great, @ManuelAmadorAditazzhttps://github.com/ManuelAmadorAditazz!
I've been of the opinion that the caller of goagain.AwaitSignals had the
opportunity to do his cleanup after that call returns but a default
strategy of "just give it time" would cover the common case well.


Reply to this email directly or view it on GitHubhttps://github.com//issues/6#issuecomment-15439691
.

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

2 participants