> 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

Reply via email to