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

Question: RACK_TIMEOUT_TERM_ON_TIMEOUT on one cluster #209

Closed
Samsinite opened this issue Nov 9, 2023 · 1 comment
Closed

Question: RACK_TIMEOUT_TERM_ON_TIMEOUT on one cluster #209

Samsinite opened this issue Nov 9, 2023 · 1 comment

Comments

@Samsinite
Copy link

Samsinite commented Nov 9, 2023

Sorry if this is the wrong place to post a question, if so feel free to direct me to a better place to get information about rack-timeout configuration settings.

Anyways, I read the documentation on the RACK_TIMEOUT_TERM_ON_TIMEOUT setting since I'm running puma on Heroku. The number of processes run by puma for our application is being set using the WEB_CONCURRENCY ENV variable, since puma defaults to using this ENV variable to set workers if it is set. Since we have it set to 1, I believe puma is running in "cluster mode" (with just one cluster), where I believe if it is set to 0, the server will be running in "single mode". My question is, is it okay to use RACK_TIMEOUT_TERM_ON_TIMEOUT in "cluster mode" with one cluster?

@Samsinite Samsinite changed the title Question: Question: RACK_TIMEOUT_TERM_ON_TIMEOUT on one cluster Nov 9, 2023
@wuputah
Copy link
Collaborator

wuputah commented May 15, 2024

I believe it's objectively "safe," but your app will not be able to serve requests until it has booted a new cluster to replace the [only] one that was SIGTERM'd. I don't know if Puma will hold new incoming requests or drop them on the floor. It's certainly better if you can set it to at least 2.

This question would be better addressed by the Puma documentation and/or team, since the behavior is specific to Puma.

@wuputah wuputah closed this as completed May 15, 2024
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