zombocom/rack-timeout

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.