Hi Graham,

First off, thanks for all your work on mod_wsgi and the docker images! It's 
been a tremendous help.

I'm running an API server using Django, and for memory reasons, I'd like to 
gracefully restart the daemon processes periodically. What I've found is 
that using `restart-interval` or sending `SIGUSR1` to multiple daemon 
processes at the same time causes my app (which is behind a load balancer) 
to return 502s (bad gateway) to the consumer. This doesn't seem to happen 
when I send `SIGUSR1` to the daemon processes 1 at a time, though.

This is what I'm using in my `server_args`:
--server-mpm event
--processes 4
--threads 16
--application-type module
--url-alias /static static
--compress-responses
--log-level info
--startup-log
--keep-alive-timeout 5
--server-status
--request-timeout 120
--shutdown-timeout 120
app.wsgi


Is this behavior expected? One guess is that there is a race condition 
where if multiple daemon processes undergo the shutdown sequence at nearly 
the same time, some requests can get routed to hit a daemon process that 
has already stopped accepting new requests.

Is there an out-of-the-box solution to handle this? Or is the workaround to 
run a job that sends the graceful restart signal to the daemon processes 1 
at a time?

Thanks!

Best,
Jay

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to modwsgi+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/59455b12-a0ea-414a-9ad3-2e1f6740bac2%40googlegroups.com.

Reply via email to