Hi, I have re-compiled uWSGI using the latest source code cloned from git repos. Also enabled DEBUG mode before re-compiling it
Here is part of the log file https://gist.github.com/2489866 I have noticed that I have specified 2 reload files 1. Via command line (absolute path) /usr/local/uwsgi/uwsgi --ini /sample-app/current/bin/uwsgi.ini --wsgi-file /sample-app/current/projectx/app.py --touch-reload /sample-app/current/bin/uwsgi-restart --pidfile /sample-app/uwsgi.pid --daemonize /sample-app/var/log/out.log 2. In ini file as you could see (relative path) touch-reload=bin/uwsgi-restart Same source code, same ini file, it worked on uWSGI 1.0.3 on dedicated Ubuntu server. On Xen-based Ubuntu 11.10 (a Linode instance), it stopped working. No worker restart but uWSGI worker did not response. Upgraded to uWSGI 1.0.5, same isssue. Upgraded to 1.2 RC2, workers processes restarted continuously. Commented out the line touch-reload=bin/uwsgi-restart ==> ; touch-reload=bin/uwsgi-restart and stopped and started uWSGI, it worked. On 1.2. RC2 dev, no restart any more. On 1.0.3, worker is responsive, no timeout any more. So does it mean that uWSGI does not allow to configure multiple touch files or it has problems when user mis-configures relative paths? It is strange that on real server it does work. On a VM, it does not. > > Here is my .ini file. It works on uWSGI 1.0.3 in an Ubuntu dedicated > > server > > (not on 1.1.2 or 1.2 RC2 in Xen-based Linux box) > > > > [uwsgi] > > master = true > > ; process is number of workers, one worker per core. > > ; cpu-affinity make sure that 1 worker don't change between various > > cores. > > ; > > ; listen isn't port that will listen for connections! > > processes = 2 > > uid = myserver > > gid = myserver > > ; wsgi-file = web/app.py > > post-buffering = 8192 > > ; logto = /var/log/uwsgi.log > > vacuum = true > > optimize = 2 > > ; http://projects.unbit.it/uwsgi/wiki/CachingFramework > > cache = 1000 > > > > ; module=portal.deploy.uwsgi.wsgi_prd > > ; socket=/var/run/uwsgi.sock > > socket = 127.0.0.1:9999 > > ; pidfile=/var/run/uwsgi.pid > > touch-reload=bin/uwsgi-restart > > vacuum=true > > > > ; listen=1024 > > ; Every request that take longer than 60 seconds will die! > > harakiri = 60 > > harakiri-verbose = true > > buffer-size = 25000 > > > > ; logging stuff > > ; daemonize = /var/log/uwsgi.log > > ; when true, disable-logging will disable request logging, only > errors > > will be logged. > > disable-logging = false > > max-requests = 1000 > > no-orphans = true > > logdate = true > > log-zero = true > > log-5xx = true > > > > > > Nothing "exotic" in your config, so i have added some more debug info in > "touch" subsystem. > > Get the latest code from mercurial/github and set debug = true in > buildconf/default.ini > > Rebuild uWSGI, and whenever the touch is detected the mtime values will be > reported. Post them, and we should be able to understand what is going on. > > Thanks > -- > Roberto De Ioris > http://unbit.it > > > >
_______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
