-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Hang on SIGTERM with ruby 2.6 in clustered mode #1755
Comments
As additional anecdotal evidence, with puma 3.12.0 and ruby 2.6.2 in clustered mode on heroku, a |
Yep, I can confirm what @Aesthetikx says. #1674 (comment) |
Another anecdote, b94c3e3 (not yet released) fixes the issues we experienced on heroku. |
@nateberkopec this one can be closed as the workaround (#1741) has been released with Puma 4.0.0 |
Steps to reproduce
config.rb
file with this content and runmkdir -p tmp/pids
puma -C config.rb
TERM
signal to the cluster processExpected behavior
Gracefully shuts down workers
Actual behavior
Process hangs, requires
KILL
System configuration
Ruby version: 2.6.2
Puma version: 3.12.1
Platform: Ubuntu 18.04 (4.15.0-1032-aws)
Additional info
It works with Ruby 2.5.5.
I discovered this using puma with systemd, it times out and kills the process after a certain time. I checked the signals docs, with
INT
is really working but from the documentation is not clear if I can just use this signal instead without any other side effect.if in systemd service descriptor I set
ExecStop=/bin/kill -INT $MAINPID
, it seems to work but it throws this error like it tries to stop the server twice:The text was updated successfully, but these errors were encountered: