Hi,
I've been experimenting with uWSGI's graceful reloading. My toy example is
in <https://github.com/shamer/uwsgi_rolling_restart>.

I've followed the "The Zerg Dance" instructions at <
http://uwsgi-docs.readthedocs.org/en/latest/articles/TheArtOfGracefulReloading.html>.
There seems to be a race between the hook-accepting1-once writefifo to the
new.fifo and the master opening the master-fifo.

If I set the number of processes to spawn to a low number (experimentally
I've found <4 to work on my machine) it works as expected. If I replace the
"writefifo: new.fifo 1" with an "echo 1 > new.fifo" everything works as
expected as well. With "echo" any number of processes works.

I'm using uWSGI version 2.0.7 on a 3.16.4 kernel. uWSGI was built with gcc
4.9.1. I'm running a python application. The python version is 3.4.2.

Is using "echo" in the accepting1-once hook the preferred way of doing this
new.fifo -> running.fifo transition? Is there a way to get the "writefifo"
method to work?

Thanks,
Stephen
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to