> That's great news. I'm glad that I have contributed somehow.
>
> Unfortunately ns_pid=1 didn't work with the latest github clone. uwsgi is
> running with "uid = 1000" config, which is the owner of runserver.py.
>
> Thu Jan 16 13:15:05 2014 - uwsgi_spawn_daemon()/clone(): Operation not
> permitted [core/daemons.c line 325]


Yes namespaces requires privileged access, (you can drop privileges in
daemon with uid and gid options, but i suppose it will make the thing
over-complex).

Bte in the next few minutes i will push an updated ragnarok procedure, so
the emperor will "gracefully" stop vassals automatically.

>
>
>
>
> On Thu, Jan 16, 2014 at 1:15 PM, Roberto De Ioris <[email protected]>
> wrote:
>
>>
>> > Well, I am not sending control+c to anyone, if it's working under
>> uwsgi
>> > stack. The code simply listens most of the signals to terminate. And
>> if
>> it
>> > was run from the console, working in the foreground for development
>> > purposes, yes I press control+c to stop in my console. But not when it
>> > gets
>> > executed by another program. http://pastebin.com/TkqBSiyE
>> >
>> > I think I have a clue here. It is about the emperor. See, it seems the
>> > master process is doing quite fine. It is just sending the proper quit
>> > signal to my script when it receives SIGHUP / SIGTERM or SIGINT:
>> >
>> > hu Jan 16 10:38:31 2014 - SIGINT/SIGQUIT received...killing workers...
>> > Thu Jan 16 10:38:31 2014 - [uwsgi-daemons] stopping daemon (pid:
>> 15682):
>> > /path/to/python /path/to/runserver.py
>> > Bye bye!
>> > Bye bye!
>> > Thu Jan 16 10:38:33 2014 - worker 1 buried after 2 seconds
>> > Thu Jan 16 10:38:33 2014 - goodbye to uWSGI.
>> > Thu Jan 16 10:38:33 2014 - VACUUM: unix socket /tmp/app.sock removed.
>> > Thu Jan 16 10:38:36 2014 - *** Starting uWSGI 2.0.1 (64bit) on [Thu
>> Jan
>> 16
>> > 10:38:36 2014] ***
>> > ....
>> >
>> > I don't understand why do I get the "Bye bye!" message from my script
>> > twice
>> > but perhaps receiving 2 different signals from uwsgi, not that
>> important.
>> >
>> > However, something seems wrong with the emperor. Only SIGHUP signal to
>> > emperor reloads masters gracefully so they kill their attaches too.
>> But
>> > SIGTERM or SIGINT to emperor, kills the masters brutally and
>> immediately.
>> > Therefore there is no master left to send any signal to my script:
>> >
>> > Thu Jan 16 10:50:20 2014 - uWSGI worker 1 screams: UAAAAAAH my master
>> > disconnected: i will kill myself !!!
>> >
>> > So my attached daemons hang on as zombies..
>> >
>> >
>>
>> Ok, now it is more clear (and somewhat expected)
>>
>> Yes, the "Ragnarok" procedure in the Emperor is pretty brutal, as
>> effectively it simple exit(0) the Emperor (that generally it is not
>> meant
>> to be shutdown).
>>
>> I will improve it for sure (maybe in time for 2.0.1 release) but in the
>> mean time you can add to attach-daemon2 the ns_pid=1 new option (it is
>> on
>> github). It will create the processes in a new namespace, so when the
>> master dies they are completely destroyed.
>>
>>
>>
>> --
>> Roberto De Ioris
>> http://unbit.it
>> _______________________________________________
>> uWSGI mailing list
>> [email protected]
>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>>
> _______________________________________________
> uWSGI mailing list
> [email protected]
> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>


-- 
Roberto De Ioris
http://unbit.it
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to