> Hey, > > Came up against another curious problem today. > > Supervisor seems to not always kill uwsgi correctly, and sometimes can end > up with workers still listening on the unix socket. > > Although the answer is ultimately to kill the uwsgi processes, this is not > something which can always be detected or automated. > > Is it possible to force uWSGI to create an exclusive lock on a unix > socket, > and if it encounters another uWSGI master instance, it will refuse to > listen on the socket and die? > > I saw 'no-orphans', but this would only work if the master instance was > dead (which it doesn't appear to be). > > Thanks > >
can you paste the supervisor config ? Expecially in 1.0 tree if you send the INT/QUIT signal the instance and its workers will die. I suspect you have set some wrong signal in supervisor. By the way, instead of using locking, a better check would be directly "pinging" the requested socket, if it respond the instance is still running. As the 'ping' function is part of the uwsgi api, i think it should be a 3-4 line patch. -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
