Question: RACK_TIMEOUT_TERM_ON_TIMEOUT on one cluster
Samsinite opened this issue · 1 comments
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?
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.